2011-12-25 25 views
7

Tengo un UILabel que agrego mediante programación a mi vista principal. Luego agregar un reconocedor gesto para obtener los eventos táctiles en la etiqueta:Detección de eventos táctiles en UILabel

UITapGestureRecognizer *recog = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTouchNotification)]; 
[notification addGestureRecognizer:recog]; 
[recog release]; 

Sin embargo, los incendios nada cuando la etiqueta se toca. Logré todas las subvistas para asegurarme de que la etiqueta estaba en la parte superior, y así es. La única forma en que puedo hacer que el reconocedor funcione es si lo agrego a la vista subyacente, pero eso no es de mucha ayuda. ¿Alguien sabe por qué esta etiqueta se comporta de manera "transparente"?

¡Buenas fiestas!

Respuesta

18

UILabel tiene su propiedad userInteractionEnabled establecida en NO de forma predeterminada, por lo que no recibe eventos táctiles y el reconocedor de gestos no funciona. Intente habilitar la interacción del usuario para su etiqueta:

... 
notification.userInteractionEnabled = YES; 
... 
Cuestiones relacionadas