La mia applicazione ha due UIButton sovrapposti. Il pulsante in alto potrebbe essere disabilitato a volte. Tuttavia, in questo caso, qualsiasi evento di tocco ricevuto sembra essere passato alla vista sottostante, che nel mio caso è l'altro pulsante.Impedisci UIButton disabilitato dalla propagazione di eventi di tocco
Quello che mi serve è il pulsante in alto che intercetta tutti i tocchi e impedisce loro di raggiungere il pulsante in basso, anche in stato disabilitato (sarei felice anche se l'azione designata è invocata nello stato disabilitato).
Finora ho provato:
[topButton setUserInteractionEnabled:YES];
e
[topButton setExclusiveTouch:YES];
anche se quest'ultimo caso è probabilmente indesiderabile in quanto ho ancora bisogno il pulsante in basso rispondere agli eventi se è la prima vista cliccato. In entrambi i casi nessuno di loro funziona.
Sembra che questi metodi non vengano chiamati quando il pulsante è disabilitato. –
Sì, questo è quello che ho capito (che è il motivo per cui ho detto "alcune proprietà") che è il motivo per cui potrebbe essere necessario utilizzare il secondo metodo, o fare qualcosa di diverso da disabilitare il pulsante come simulare di essere disabilitato in qualche modo. Il secondo metodo probabilmente sarà un problema dal momento che l'applicazione UIA (che chiama sendEvent nella finestra) probabilmente è ciò che sta ignorando UIControls disabilitato. – Nimrod