iphone ios uitextfield first-responder becomefirstresponder

iphone - ser notificado cuando UITextField BecomeFirstResponder



ios first-responder (4)

¿Cómo puedo recibir una notificación cuando UITextField becomeFirstResponder ?

Puedo marcar como isFirstResponder o configurarlo para que se convierta en el primer respondedor por becomeFirstResponder

Quiero ser notificado o manejar un evento cuando un usuario hace que este campo de texto sea el primero en responder.

Gracias.


Además de implementar el método de textFieldDidBeginEditing: puede registrarse para la notificación UITextFieldTextDidBeginEditingNotification .

El método de notificación podría ser:

- (void)someTextFieldDidBeginEditing:(NSNotification *)notification { UITextField *textField = (UITextField *)notification.object; }


Deberá venir como delegado del campo de texto e implementar este método de delegado opcional:

- (void)textFieldDidBeginEditing:(UITextField *)textField;


El delegado es definitivamente el camino a seguir. Desafortunadamente, en mi situación no pude usar eso, porque el controlador era el delegado de mi subclase UITextField y necesitaba modificar su texto de marcador de posición. En cambio, anulo los métodos - (BOOL)canBecomeFirstResponder; & - (BOOL)resignFirstResponder; . Asegúrate de llamar super.


Para OSX, debe tener en cuenta que los botones tienen efectos secundarios al confiar en NSControlTextDidBeginEditingNotification .

Cuando comience a editar, presione algunos botones y reanude la edición del campo de texto, no obtendrá un segundo NSControlTextDidBeginEditingNotification cuando reanude la edición.

En caso de que este comportamiento cause un problema, UITextFieldTextDidChangeNotification podría ser una alternativa.