détecter le doigt haut / bas UITapGestureRecognizer

Comment puis-je savoir quand le doigt est en panne et quand est-il avec UITapGestureRecognizer ?
La documentation dit que je devrais seulement manipuler UIGestureRecognizerStateEnded comme tapant ainsi cela signifie qu'il ya UIGestureRecognizerStateBegin quand le doigt est en panne, mais tout ce que je reçois est UIGestureRecognizerStateEnded .
Le code que j'utilise pour save le Recognizer est:

 [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)] 

UITapGestureRecognizer est un UITapGestureRecognizer reconnaissance de UITapGestureRecognizer discret, et par conséquent, ne fait jamais la transition vers les états commencés ou modifiés. De la reference de class UIGestureRecognizer:

Les gestes discrets passent de Possible à Recognized (UIGestureRecognizerStateRecognized) ou Failed (UIGestureRecognizerStateFailed), selon qu'ils réussissent ou non à interpréter le geste. Si le détecteur de mouvement passe à Reconnu, il envoie son message d'action à sa cible.

(Souvenez-vous bien sûr que UIGestureRecognizerStateRecognized == UIGestureRecognizerStateEnded ).

Les docs disent que vous devriez vérifier l'état d'un outil de reconnaissance de gestes de frappe pour voir qu'il est dans son état terminé, avant que vous tiriez votre code pour dire qu'il a été reconnu. Ils ne disent pas que le geste du robinet transite réellement aux états commencés ou changés (bien que j'admette que les docs soient un peu trompeurs dans la langue utilisée!).

Si vous voulez vérifier l'événement de doigt vers le bas pour un reconnaisseur de geste de robinet, je reorderais juste en utilisant touchesBegan:withEvent: puisque c'est ce que vous êtes vraiment après tout de toute façon.

Vous pouvez replace la méthode déléguée -(BOOL)gestureRecognizer:shouldReceiveTouch:

 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { NSLog(@"Hello from press down"); return YES; }