2011-05-11 31 views
35

我有兩個文本框,在第一個文本框中我寫「Hello」,當我按下iPad鍵盤上的輸入時,我希望在第二個文本框中出現「World」;我如何使用enter在我的應用程序中創建一個動作?IOS:用iPad的輸入鍵操作KeyBoard

回答

74

你通常會指定您的視圖控制器作爲文本字段的委託,然後實現textFieldShouldReturn:方法,例如:

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

它不起作用;我設置UIViewController CrazyDev 2011-05-11 13:48:00

+8

啊好的我沒寫textFiled.delegate = self; – CrazyDev 2011-05-11 13:56:00

+1

在Swift中的腳印是'func textFieldShouldReturn(textField:UITextField) - > Bool' – User 2014-09-29 20:15:31

9

你可以通過在你的控制器實現UITextFieldDelegate協議。例如,你可以這樣做:

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

設置你的視圖控制器是那麼文本框的委託實施

-(BOOL)textFieldShouldReturn:(UITextField *)textField 

當輸入按鍵在鍵盤上按下這個被調用。

1

這大致是你要做的。調整以適應設備類型(如果您確實只需要iPad):

#pragma mark - UITextField Delegate 

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