web-dev-qa-db-ja.com

IOS:iPad KeyBoardのEnterキーを使用したアクション

テキストフィールドが2つあります。最初のテキストフィールドに「Hello」と入力し、iPadキーボードでEnterキーを押すと、2番目のテキストフィールドに「World」と表示されます。 Enterを使用して、アプリケーションでアクションを作成するにはどうすればよいですか?

35
CrazyDev

通常、View Controllerをテキストフィールドのデリゲートとして割り当て、textFieldShouldReturn:メソッド、例:

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

これを行うには、コントローラーに ITextFieldDelegate プロトコルを実装します。たとえば、次のようなことができます。

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

ViewControllerをテキストフィールドのデリゲートに設定してから実装します

-(BOOL)textFieldShouldReturn:(UITextField *)textField

これは、キーボードの入力ボタンが押されたときに呼び出されます。

2
mbehan

これは大体あなたがすることです。デバイスタイプを調整する(本当にiPadのみが必要な場合):

#pragma mark - UITextField Delegate

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