29 votes

iphone - le geste du simple toucher entre en conflit avec un double

J'ai une vision. Je tiens à définir les types de robinet gestes pour elle.

Donc, si un utilisateur unique, appuyez sur la vue, la vue va faire Un; et si un utilisateur double-tap sur le point de vue, il va faire un point B sans faire A.

J'ai ajouté deux UITapGestureRecognizer à la vue. le seul robinet est avec numberOfTapsRequired = 1; et le double tap est avec numberOfTapsRequired = 2;

Aussi, j'ai de retour NON pour

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
     return NO;
}

Cependant, j'ai trouvé qu'ils entrent en conflit les uns avec les autres. Je veux dire, même si j'ai un double tap sur la vue, à la fois A et B sera invoquée.

Comment puis-je résoudre ce problème?

Merci

65voto

Markus Müller Points 2223

Vous pouvez contourner ce problème en ajoutant la ligne de code suivante. Cela garantira que la reconnaissance à simple pression se déclenche uniquement lorsque la reconnaissance à double pression a échoué:

     [singleTapRecognizer requireGestureRecognizerToFail:doubleTapRecognizer];
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X