2009-05-14 11 views

Respuesta

30

solo lo he descubierto ...

[mytextField addTarget:self 
     action:@selector(methodToFire:) 
     forControlEvents:UIControlEventEditingDidEndOnExit]; 
4

En el controlador de vista aplicar el siguiente método:

- (void)textFieldDidEndEditing:(UITextField *)textField{ 

//do stuff 

} 

No se olvide de establecer el delegado en viewDidLoad o el inicializador:

myTextField.delegate = self; 
+0

Esto no funciona ... –

+0

UOU tiene que asegurarse de que el delegado está establecido. Además, textField debe renunciar al primer respondedor, lo que hace que el teclado desaparezca como una pista de que lo has hecho bien. –

+0

Lo que has publicado tal vez sea correcto, no lo sé. Sin embargo, el código que publiqué anteriormente es más elegante y cumple exactamente lo que estaba buscando. –

1

Para cualquiera que esté pensando en utilizar este objetivo para hacer que otro campo de texto se convierta en primer elemento para crear un Opción del botón "Siguiente" que parece que estás "tabulando" a través de textFields. Yo recomendaría utilizar textFieldShouldReturn en lugar de un código como este. Déjeme decirle que funciona tan bien que se sentirá como si estuviera montando un unicornio:

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

    if([textField isEqual:_textField1]){ 
     [_textField2 becomeFirstResponder]; 
     return NO; 
    }else if([textField isEqual:_textField2]){ 
     [_textField3 becomeFirstResponder]; 
     return NO; 
    } 

    return YES; 
} 
Cuestiones relacionadas