2010-07-18 6 views

Antwort

13

Ein anderer Ansatz, anstatt toustsEnded: zu überschreiben, besteht darin, dass Sie einfach den Status des Gestenerkenners in Ihrer Zielhandlermethode überprüfen können.

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

Danke! Das ist sogar noch besser ;) –

1

Sie können wissen, ob es sich bei der Skalierungseigenschaft des UIPinchGestureRecognizer um eine Vergrößerung oder Verkleinerung handelt.

Überschreiben Sie es einfach berührtEnded: Methode, um einen Rückruf zu erhalten (und den Anruf eine andere Methode, wenn Sie möchten).

+0

Vielen Dank! Genau das habe ich gebraucht! –

+0

Das hat mir auch geholfen –

0

Der beste Ansatz, die Unterklassen nicht erforderlich ist, den „Staat“ Eigenschaft zu prüfen, auf die Geste Instanz in Ihrem Action-Handler erfasst. Der Zustand wird sich während aller Phasen des Lebenszyklus der Geste ändern. Die Statusänderung, nach der Sie suchen, lautet UIGestureRecognizerStateEnded. Es empfiehlt sich auch, nach UIGestureRecognizerStateCancelled zu suchen.