2011-12-25 15 views
7

Ho un UILabel che sto aggiungendo programmaticamente alla mia vista principale. Ho quindi aggiungere un sistema di riconoscimento gesto per ottenere eventi di tocco in etichetta:Rilevamento di eventi di tocco su UILabel

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

Tuttavia, gli incendi nulla quando l'etichetta viene toccato. Ho registrato tutte le sottoview per assicurarmi che l'etichetta fosse in cima, e lo è. L'unico modo per far funzionare il riconoscimento è se lo aggiungo alla vista sottostante, ma non è di grande aiuto. Qualcuno sa perché questa etichetta si sta comportando in modo così "trasparente"?

Buone vacanze!

risposta

18

UILabel ha la sua proprietà userInteractionEnabled impostata su NO per impostazione predefinita in modo che non riceva gli eventi di tocco e il riconoscimento dei gesti non funzioni. Prova a abilitare l'interazione dell'utente per la tua etichetta:

... 
notification.userInteractionEnabled = YES; 
... 
Problemi correlati