2010-07-18 7 views

Répondre

13

Une autre approche au lieu de surcharger touchesEnded :, est que vous pouvez simplement vérifier l'état de l'outil de reconnaissance de gestes dans votre méthode de gestionnaire cible.

-(void)handlePinchGesture:(UIGestureRecognizer*)gestureRecognizer {  
    if(UIGestureRecognizerStateEnded == [gestureRecognizer state]){ 
     // do something 
    } 
    } 
+0

Merci! C'est même mieux ;) –

1

Vous pouvez savoir s'il s'agit d'un zoom avant ou arrière effectué par la propriété scale du UIPinchGestureRecognizer. Il suffit de surcharger its touchEnded: méthode pour obtenir un rappel (et l'appel d'une autre méthode si vous le souhaitez)

+0

Merci! C'est exactement ce dont j'avais besoin! –

+0

Cela m'a aidé aussi –

0

La meilleure approche qui ne nécessite pas subclassing est d'examiner la propriété « Etat » sur le geste reconnu par exemple dans votre gestionnaire d'action. L'état changera pendant toutes les phases du cycle de vie du geste. Le changement d'état que vous recherchez est UIGestureRecognizerStateEnded. Il est également recommandé de vérifier également UIGestureRecognizerStateCancelled.

Questions connexes