Question

J'ai parcouru de nombreux tutoriels et questions à ce sujet, mais je n'arrive pas à trouver ce que je cherche et j'ai le sentiment qu'il me manque juste une étape simple.J'apprends encore les ficelles du métier, alors soyez indulgents avec moi sur celui-ci.

Je crée un randomiseur d'images sur xcode 4.3.3 et j'ai pu le faire avec un bouton pour randomiser les images, mais je veux qu'il réponde à un geste de balayage.toute la fenêtre est couverte par un objet UIImageView, donc je veux juste une application qui randomise les images en glissant, donc je veux pouvoir faire glisser le UIImageview.voici ce que j'ai :

dans mon fichier .h :

@interface ViewController : UIViewController <UIGestureRecognizerDelegate> {
IBOutlet UIImageView *quotePage;

}

-(IBAction)random;
-(void)screenWasSwiped;

@end

et dans mon fichier .m :

@interface ViewController ()

@end

@implementation ViewController

-(IBAction)random {
int image = rand() % 4;
switch (image) {
    case 0:
        quotePage.image = [UIImage imageNamed:@"Quote1.png"];
        break;
    case 1:
        quotePage.image = [UIImage imageNamed:@"Quote2.png"];
        break;
    case 2:
        quotePage.image = [UIImage imageNamed:@"Quote3.png"];
        break;
    case 3:
        quotePage.image = [UIImage imageNamed:@"Quote4.png"];
        break;
    default:
        break;
}
}


-(void)viewDidLoad {
UISwipeGestureRecognizer *swipeLeft = [[UISwipeGestureRecognizer alloc]         initWithTarget:self action:@selector(screenWasSwiped)];
swipeLeft.numberOfTouchesRequired = 1;
swipeLeft.direction=UISwipeGestureRecognizerDirectionLeft;
[self.view addGestureRecognizer:swipeLeft];
quotePage.userInteractionEnabled = YES;

}

@end

Je pensais qu'il serait possible de relier l'action « aléatoire » à un geste de balayage dans le storyboard, mais cela n'a pas fonctionné.le message du fil 1 est :

2012-07-27 15:04:32.012 QuoteRandom[1057:c07] -[ViewController screenWasSwiped] :sélecteur non reconnu envoyé à l'instance 0x6868210

je pense donc que je dois connecter « screenWasSwiped » au randomiseur d'image et également appliquer le geste de balayage à UIImageView mais j'ai du mal à le comprendre.J'apprécierais toute orientation!Merci d'avance!

Était-ce utile?

La solution

Vous pouvez appeler votre -(IBAction)random méthode dans votre UISwipeGestureRecognizer le changer init méthode pour :

UISwipeGestureRecognizer *swipeLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(random)];

De cette façon, chaque fois que vous glissez, vous obtiendrez une nouvelle image aléatoire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top