2010-12-01 6 views
5

Tengo un UITapGestureRecognizer esperando un doubletap para alejar una vista de desplazamiento hasta el nivel original. Sin embargo, hay una situación en la que agrego un par de botones en la parte superior de la vista de desplazamiento. Estos botones reaccionan muy lento (lentamente) porque una vez que toco un botón, la aplicación espera el segundo toque. Si esto no ocurre, se presiona el botón.UITapGestureRecognizer en espera de un segundo toque, botones lentos

¿Alguien tiene una idea sobre cómo obtener los botones para responder rápidamente? ¿Puedo desactivar temporalmente GestureRecogniser mientras los botones están activados?

Saludos Nick

+0

También estoy teniendo el mismo problema ... pero creo que es un problema universal ... que se puede minimizar si pudiéramos reducir el tiempo de espera para el segundo toque. Pero no tengo idea de cómo hacerlo ... – Amit

Respuesta

6

¿Qué pasa con toques de filtrado en los botones de este modo:

- (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

En realidad, puedes hacer esto, que es más limpio, ya que no tienes que codificar todos los botones en el delegado gr: 'return! [Touch.view isKindOfClass: [UIButton class]] ; ' – jankins

Cuestiones relacionadas