Ho un UIButton
sopra UITableViewCell
e se ho impostato
button.enabled = false;
... quindi i clic successivi su quel pulsante attivano il clic su UITableViewCell
.
Quindi se il pulsante è disabilitato, allora come assicurarsi che fare clic su di esso non farà scattare il clic della cella della tabella?
risposte:
1 per risposta № 1Puoi farlo in questo modo
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
if(!cell.btn.enable)
return;
}
0 per risposta № 2
Un modo sarebbe non disabilitare il pulsante, ma riconoscere semplicemente che il pulsante in questione non risponderà agli eventi di tocco al momento e non farà nulla nel gestore per questo pulsante.
if( buttonIsActive )
{
// trigger whatever the button was intended to trigger
}
Per fare ciò è necessario sottoclassare UIButton e aggiungere una proprietà buttonIsActive.
Se non lo fai in questo modo, immagino che lo faraiavere a che fare con quell'evento a un livello diverso (come nel gestore di UITableViewCell) o girare il riconoscimento dei gesti, ovvero la selezione (vedi la risposta di Praful Kadam).