2011-06-16 2 views
2

Je suis en train de développer une application dans laquelle j'applique UILongPressGesture Recognizer sur une vue, et implémenté le code à implémenter pour l'évènement (geste de pression long quand il se produit). Le code pour manipuler le geste est écrit dans une méthode et la méthode est appelée deux fois quand j'ai essayé d'appuyer longuement sur la vue qui n'est pas désirée. J'ai assigné un temps minimum de 2 secondes. Je ne suis pas sûr que j'appuie sur la vue pendant exactement 2 secondes. la méthode sera-t-elle appelée après les 2 secondes écoulées?UILongPressGestureRecognizer donnant des résultats étranges

Quelqu'un peut-il m'aider à cet égard et comment gérer la situation lorsque l'utilisateur appuie longuement sur plus que l'heure min attribuée, ou y at-il une autre raison pour laquelle la méthode est appelée deux fois?

tnx à l'avance

+0

Voyons voir le code ... – Roger

Répondre

2

Le gestionnaire est appelé deux fois pour se les Etats Recognizer geste UIGestureRecognizerStateBegan et UIGestureRecognizerStateRecognized. Vous voudrez probablement faire affaire avec un UIGestureRecognizerStateRecognized. Faites-le dans le gestionnaire,

- (void)longPress:(UILongPressGestureRecognizer *)gesture { 
    if (gesture.state == UIGestureRecognizerStateRecognized) { 
     // Handle long press. 
    } 
} 
+0

@efrank avez-vous résolu cela? –

+0

tnx pour la réponse deepak, j'ai résolu le problème ci-dessus d'une manière différente. J'ai essayé votre approche mais cela n'a pas fonctionné pour moi. de toute façon tnx pour la réponse ...... – Dinakar

Questions connexes