2012-05-14 20 views
7

Ho creato un UIButton con più gesti. C'è un modo per rimuovere TUTTI i Riconoscitori di gesti? Senza l'oggetto riconoscitore di gesti? Ho esaminato questo metodo:removeGestureRecognizer method

[myButton removeGestureRecognizer:(GestureRecongizer)]; 

Tuttavia, non ho più l'oggetto di riconoscimento Gesture. C'è un modo per pulire i miei gesti senza l'oggetto riconoscitore? Simile a:

[myButton removeTarget:nil action:NULL forControlEvents:UIControlEventAllEvents]; 

risposta

28

questo dovrebbe farlo

while (myButton.gestureRecognizers.count) { 
    [myButton removeGestureRecognizer:[myButton.gestureRecognizers objectAtIndex:0]]; 
} 
+0

credo che questo non è la soluzione completa. Se il pulsante ha più di un riconoscitore di gesti, in che modo rimuovendo il riconoscimento solo dallo zero dell'indice rimuoverli tutti? – Krishnan

+3

bene è in un ciclo e ci sarà sempre un indice zero presente nell'array. Quindi rimuove tutti i gesti. –