Custom gestureRecognizer qui ne trigger l'action qu'une seule fois
Hello à tous,
j'utilise pas mal UITapGestureRecognizer. Mais, l'action est trigger lorsque le touch est up. Je souhaiterais avoir un gestureRecognizer qui fasse la même chose mais au touch down.
La difficulté que je rencontre est que, bizarrement UITapGestureRecognizer n'appelle le target et la méthode action qu'une seule fois. J'ai l'impression que c'est un cas unique et que tous les autres recognizers appellent l'action sur le target à chaque changement d'état (begin, modified, cancel, finished).
Je voudrais avoir la même fonctionnalité mais je n'y arrive pas.
Voici mon code pour l'instant : quand on tap, il trigger deux fois l'action (une fois au begin, un fois au end)
@implementation CBDTouchDownGestureRecognizer
- (void)touchesBegan:(NSSet *)touches
withEvent:(UIEvent *)event
{
[super touchesBegan:touches withEvent:event];
self.state = UIGestureRecognizerStateBegan ;
}
- (void)touchesMoved:(NSSet*)touches
withEvent:(UIEvent*)event
{
[super touchesMoved:touches withEvent:event];
self.state = UIGestureRecognizerStateEnded ;
}
- (void)touchesEnded:(NSSet*)touches
withEvent:(UIEvent*)event
{
[super touchesEnded:touches withEvent:event];
self.state = UIGestureRecognizerStateEnded ;
}
- (void)touchesCancelled:(NSSet*)touches
withEvent:(UIEvent*)event
{
[super touchesCancelled:touches withEvent:event];
self.state = UIGestureRecognizerStateCancelled ;
}
@end
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Voilà une solution où je triche un peu. ça se trouve, c'est ce que fait UITapGesture. J'ai ajouté au .m précédent :