Nouveau sur iPhone dev. J'ai une vue qui contient un UIScrollView qui contient un UIImageView. J'ai ajouté un (double) reconnaissance de gestes de robinet sur la vue d'image qui rend une boîte d'alerte ouverte. Pour une raison quelconque, et je suis sûr que je suis juste attardé, il s'ouvre 3 fois.Utilisation de UITapGestureRecognizer
Voici mon code:
- (void)viewDidLoad {
scrollView.delegate = self;
UIImage* image = imageView.image;
imageView.bounds = CGRectMake(0, 0, image.size.width, image.size.height);
scrollView.contentSize = image.size;
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)];
tapGesture.numberOfTapsRequired = 2;
[imageView addGestureRecognizer:tapGesture];
[tapGesture release];
NSLog(@"LOADED");
[super viewDidLoad];
}
-(IBAction) handleTapGesture:(UIGestureRecognizer *) sender {
CGPoint tapPoint = [sender locationInView:imageView];
int tapX = (int) tapPoint.x;
int tapY = (int) tapPoint.y;
NSLog(@"TAPPED X:%d Y:%d", tapX, tapY);
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Hello" message:@"How are you?" delegate:nil cancelButtonTitle:@"I'm awesome." otherButtonTitles:nil];
[alert show];
[alert release];
}
Je viens de commencer l'iPhone dev il y a quelques jours. Ce genre de problème me rappelle les problèmes de bulles que j'ai traités en javascript. Des idées?
Oh, et il semble que cela vaut la peine de noter que le NSLog ne se produit pas tous les trois fois. – tybro0103