UITapGestureRecognizer no hace nada

Tengo una aplicación que muestra una página de text con la capacidad de tocar un button o deslizar en una vista para avanzar o retroceder a través de varias páginas. La vista de contenedor tiene dos UISwipeGestureRecognizers adjuntos, para deslizar hacia la izquierda y deslizar hacia la derecha. No hay problemas con estos gestos. Pero ahora estoy intentando agregar UITapGestureRecognizer a otra vista, proporcionando una capacidad similar a iBooks o la aplicación Kindle, toca la izquierda para retroceder, el derecho a seguir adelante. Nada de lo que hago puede hacer que el gesto se dispare. No hay indicio de que alguna vez se dispare, incluso si pongo el gesto en mi vista superior y deshabilito otros gestos.

El controller de vista implementa UIGestureRecognizerDelegate, aunque no he necesitado implementar methods de delegado. Intenté implementar shouldReceiveTouch: sin éxito.

Aquí hay un fragment de código donde creo y adjunto el reconocimiento de gestos:

UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureTurnPage:)]; [self.view addGestureRecognizer:recognizer]; [recognizer release]; 

Intente esto en la vista que está agregando los reconocedores de gestos:

 view.userInteractionEnabled = YES; 

Mencionas que has intentado esto, pero por si acaso vuelves a hacerlo.

Intente usar el delegado con <UIGestureRecognizerDelegate> en el encabezado y luego configure el delegado:

 UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureTurnPage:)]; [self.view addGestureRecognizer:recognizer]; recognizer.delegate = self; [recognizer release]; 

Luego implementa este método:

 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { return YES; } 

Luego use un depurador o NSLog un NSLog en el método anterior y también tapGestureTurnPage: para ver si se están llamando a estos methods.

Agregue esto donde inicializa el gesto:

 recognizer.delegate = self; 

y agregue esto en la class "self":

 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { return YES; } 

Esto me permite tener gestos reconocidos en UIWebView, y UIWebView responderá a los toques. (que yo quería, puede que no)