2010-06-26 13 views
12

Estoy moviendo mi vista cuando se presiona un campo de texto para obtener una vista correcta cuando aparece el teclado. Ahora, cuando se presiona el botón Hecho del teclado, me gustaría devolver la vista a su estado inicial. ¿Cómo manejo una acción cuando se presiona el botón del teclado hecho?Teclado de control Hecho evento presionado en Iphone

Respuesta

11

Haga un IBAction y conéctelo al método didEndOnExit del campo de texto. Luego, en la implementación de este método, debe poner [yourTextFieldOutlet resignFirstResponder];, que desactivará el campo de texto.

19

La forma correcta de hacerlo es observar las notificaciones UIKeyboardDidShowNotification y UIKeyboardDidHideNotification como se detalla en Apple's documentation.

Si quieres saber cuando el botón se ha pulsado Done, implementar

- (BOOL)textFieldShouldReturn:(UITextField *)textField 

En su delegado. Se debe invocar cuando se presiona el botón de retorno. Ver API documentation para más detalles.

4

@freespace tiene razón, esto es todo lo que necesita hacer.

- (BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
    return [textField resignFirstResponder]; 
} 

Toque el botón hecho y poof, el teclado se ha ido.

0

Si lo que desea es saber que hizo fue presionado, puede pedir que se les diga de ese evento de control:

[textField addTarget:self 
       action:@selector(donePressed) 
    forControlEvents:UIControlEventEditingDidEndOnExit]; 

Esa es la versión del código de IB de didEndOnExit.

Cuestiones relacionadas