2011-05-11 16 views
35

Tengo dos campos de texto, en el primer campo de texto escribo "Hola" y cuando pulso intro en el teclado del iPad, quiero que en el segundo campo de texto aparezca "Mundo"; ¿Cómo puedo usar enter para crear una acción en mi aplicación?IOS: acción con la tecla enter de iPad KeyBoard

Respuesta

74

lo más habitual es asignar su controlador de vista como delegado del campo de texto y luego poner en práctica el método textFieldShouldReturn:, por ejemplo .:

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    otherTextField.text = @"World" 
    return YES; 
} 
+0

no funciona; configuro UIViewController CrazyDev

+8

ah ok No escribí textFiled.delegate = self; – CrazyDev

+1

La huella en Swift es 'func textFieldShouldReturn (textField: UITextField) -> Bool' – User

9

Puede hacerlo mediante la implementación del protocolo de UITextFieldDelegate en su controlador. Por ejemplo, podría hacer algo como:

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    if (textField == theFirstTextField && [textField.text isEqualToString:@"Hello"]) { 
     theSecondTextField.text = @"World"; 
    } 
    return YES; 
} 
2

Indica tu controlador de vista de ser el delegado del campo de texto a continuación, poner en práctica

-(BOOL)textFieldShouldReturn:(UITextField *)textField 

esto se llama cuando el botón de entrada es empujado en el teclado.

1

Esto es más o menos lo que harías. Ajustar para acondicionar alrededor del tipo de dispositivo (si realmente quiere iPad solamente):

#pragma mark - UITextField Delegate 

- (BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
    if (textField == self.firstTextField && [textField.text isEqualToString:@"Hello"]) { 
     self.secondTextField.text = @"World"; 
    } 
    return YES; 
} 
Cuestiones relacionadas