2010-12-01 33 views
5

J'ai un UITapGestureRecognizer en attente d'un doubletap pour rétrograder un scrollview au niveau d'origine. Cependant, il y a une situation que j'ajoute quelques boutons sur le scrollview. Ces boutons réagissent très lentement (paresseusement) car une fois que j'appuie sur un bouton, l'application attend le second clic. Si ce n'est pas le cas, le bouton est enfoncé.UITapGestureRecognizer en attente de la deuxième pression, les boutons sont lents

Quelqu'un a une idée sur la façon d'obtenir les boutons pour répondre rapidement? Puis-je désactiver temporairement le GestureRecognizer lorsque les boutons sont ouverts?

Vive Nick

+0

J'ai aussi le même problème .... mais je pense que c'est le genre de problème universel ... qui peut être minimisé si nous pouvions réduire le temps d'attente pour le deuxième robinet. – Amit

Répondre

6

Qu'en est-il des touches de filtrage sur les boutons comme si:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer 
     shouldReceiveTouch:(UITouch *)touch { 
// Don't recognize taps in the buttons 
return ((! [self.button1 pointInside:[touch locationInView:self.button1] withEvent:nil]) && 
     (! [self.button2 pointInside:[touch locationInView:self.button2] withEvent:nil])); 
} 

?

+3

Vous pouvez en fait le faire à la place, ce qui est plus propre car vous n'avez pas besoin de coder en dur chaque bouton dans le délégué gr: 'return! [Touch.view isKindOfClass: [UIButton class]] " – jankins