Sto usando un file di layout NIB una cella di vista tabella personalizzata. Questa cella ha un'etichetta con uscita chiamata lblName. L'aggiunta di un UITapGestureRecognizer a questa etichetta non genera mai l'evento associato. Ho userInteractionEnabled = YES.Come posso aggiungere un'UITapGestureRecognizer ad un UILabel all'interno di una cella di visualizzazione della tabella?
Sto indovinando che il problema è che l'UILabel è in una TableView e che la vista tabella/cella sta intercettando i rubinetti. Posso fare qualcosa a riguardo?
Tutto quello che voglio fare è eseguire alcune azioni personalizzata quando si preme un UILabel! Tutte le soluzioni per fare ciò che ho visto sono ridicole. Dovrebbe essere facile usando il set di strumenti standard. Ma evidentemente no.
Ecco il codice che sto utilizzando:
- (void)tapAction {
NSLog(@"Tap action");
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib
UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction)];
[recognizer setNumberOfTapsRequired:1];
//lblName.userInteractionEnabled = true; (setting this in Interface Builder)
[lblName addGestureRecognizer:recognizer];
}
Grazie , questo ha fatto il trucco! Risolvi un paio di refusi nel tuo codice: prima "se" dovrebbe essere un "for" ovviamente e poi vuoi enumerare cell.contentViews.subviews. Grazie per la risposta! – Bryan
Oh, mi sono iscritto qui. Ci sono piccoli errori. In ogni caso lo aggiornerò. –
Questo non ha funzionato per me finché non ho impostato "Interazione utente abilitata" sulla cella stessa –