J'ai donc implémenté un reconnaissance de gestes longue pression à 1 doigt, mais le reconnaisseur semble toujours manquer l'état UIGestureRecognizerStateBegan ... Si j'appuie longuement sans déplacer le doigt et le soulever, j'obtiens le message de débogage StateEnded. Si j'appuie longuement sur un doigt et que je le soulève, j'obtiens les messages de débogage StateChanged et StateEnded. Mais je ne vois jamais StateBegan.UILongPressGestureRecognizer manquant État UIGestureRecognizerStateBegan!
Ne pas avoir ce problème avec UIPanGestureRecognizer - Pan obtient tous les états de gestes corrects de Began-> Changed-> Ended.
- (void)handleLongPress:(UILongPressGestureRecognizer *)recognizer {
CGPoint location = [recognizer locationInView:self];
switch (recognizer.state) {
case UIGestureRecognizerStateBegan:
NSLog(@"!!!!handleLongPress: StateBegan !!!!!");
break;
case UIGestureRecognizerStateChanged:
NSLog(@"!!!!handleLongPress: StateChanged !!!!!");
break;
case UIGestureRecognizerStateEnded:
NSLog(@"!!!!handleLongPress: StateEnded !!!!!");
break;
default:
break;
}
}
Votre code semble fonctionner correctement pour moi. Avez-vous configuré toutes sortes de dépendances entre vos reconnaisseurs de mouvements tactiles et panoramiques ou avez-vous également d'autres outils de reconnaissance sur cette vue? –
aucune dépendance entre l'un de mes reconnaisseurs de gestes. et oui, j'ai plusieurs reconnaisseurs sur cette vue. Je suis perplexe ... :( – annie