Cómo hacer que la llamada UIAlertView `alertViewShouldEnableFirstOtherButton:` después de realizar cambios?

Tengo un UIAlertView con un UITextField. He conectado el delegado UIAlertView y devuelvo YES o NO en alertViewShouldEnableFirstOtherButton: según el text en UITextField.

Necesito cambiar el text de textField mediante progtwigción. Esto funciona como se esperaba.

Lamentablemente, no sé cómo hacer que la llamada alertViewShouldEnableFirstOtherButton: método alertViewShouldEnableFirstOtherButton: delegate, por lo que habilita o deshabilita el otro button después de cambiar el text del textField.

Pensé que UIAlertView se registra como un objective de UITextField, por lo que traté de enviar un UIControlEventValueChanged desde textField. No funcionó


Desde el rastreo de stack, descubrí que se llama al método de delegado desde el método privado UIAlertView _alertSheetTextFieldDidChange:

Entonces, si hago [self.currentAlert performSelector:@selector(_alertSheetTextFieldDidChange:) withObject:textField]; después de cambiar el text, se llama al método de delegado y cambia el estado de habilitación del button. Pero, dado que se trata de un método privado, la aplicación probablemente será rechazada. No quiero arriesgarme a eso.


¿Hay una manera limpia de hacer que la vista de alerta llame a alertViewShouldEnableFirstOtherButton: 😕

Estaba en el path correcto con el envío de un evento de control. Solo escojo el evento equivocado.

Esto funcionará:

 [textField sendActionsForControlEvents:UIControlEventEditingChanged];