Ho un UIAlertView con un UITextField. Ho collegato il delegato UIAlertView e restituisco SÌ o NO in alertViewShouldEnableFirstOtherButton:
a seconda del testo nel campo UITextField.Come rendere UIAlertView chiamata `alertViewShouldEnableFirstOtherButton:` dopo aver apportato le modifiche?
Ho bisogno di cambiare il testo del campo di testo a livello di codice. Funziona come previsto.
Purtroppo non so come rendere UIAlertView chiama il metodo delegato alertViewShouldEnableFirstOtherButton:
in modo da abilitare o disabilitare l'altro pulsante dopo aver modificato il testo del campo di testo.
Ho pensato che UIAlertView registri come destinazione di UITextField, quindi ho provato a inviare un UIControlEventValueChanged
dal campo di testo. Non ha funzionato
Dalla traccia dello stack ho capito il metodo delegato viene chiamato dal metodo UIAlertView privato _alertSheetTextFieldDidChange:
.
Quindi, se faccio [self.currentAlert performSelector:@selector(_alertSheetTextFieldDidChange:) withObject:textField];
dopo aver modificato il testo, viene chiamato il metodo delegato e lo stato di attivazione del pulsante cambia. Ma poiché questo è un metodo privato, l'app verrà probabilmente respinta. Non voglio rischiare.
C'è un modo pulito per rendere la vista di avviso chiamata alertViewShouldEnableFirstOtherButton:
?
Ho appena incontrato questo problema pure, e questa risposta opere e sembra essere il modo corretto di farlo – Alex