7

3 つのテキスト フィールドがあり、カーソルを次のフィールドに移動できるようにしたいと考えています。最後の 1 つに達すると、キーボードが消えます。しかし、何もうまくいきません... これが私が持っているものの例です。しかし、何も動かず、次のボタンを選択しても何も起こりません。

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    if (textField == field1TextField) {
        [textField resignFirstResponder];
        [field2TextField becomeFirstResponder];
    } 
    else if (textField == field2TextField) {
        [textField resignFirstResponder];
        [field3TextField becomeFirstResponder];
    }
    else if (textField == field3TextField) {
        [textField resignFirstResponder];
    }
    return YES;
}
4

1 に答える 1

3

このメソッドがバインドされているオブジェクトは、テキスト フィールドのデリゲートとして設定する必要があります。メソッドにブレークポイントを設定して、これが呼び出されたと思われるときに呼び出されることを確認して、これを確認します。

ペン先またはストーリーボードを使用している場合、field...インスタンス変数は正しく接続されているアウトレットである必要があります。プログラムで作成された場合は、オブジェクトが割り当てられていることを確認する必要があります。メソッド内でこれらの変数の値を調べて、これを確認します。

resignFirstResponder別のコントロールを呼び出す前に、他のコントロールを呼び出す必要はありませんbecomeFirstResponder

于 2013-04-06T00:29:54.477 に答える