0

fldPasswordとfldUsernameの2つのフィールドがあります。このコード(およびビューの自己委任がロードされた)を使用すると、両方のテキストフィールドでリターンキーが閉じられると思います。しかし、それは最初にそれをするだけです。私は何が間違っているのですか?

- (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
    if (fldPassword == self->fldPassword) {
        [fldPassword resignFirstResponder];
    } else if (fldUsername == self->fldUsername) {
        [self->fldUsername becomeFirstResponder];
    }

    return YES;
}
4

2 に答える 2

2
- (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
        [theTextField resignFirstResponder];
   return YES;
}

.hファイルにデリゲートメソッドを追加します。

@interface YourViewController : UIViewController<UITextFieldDelegate>

その後、両方のテキストフィールドで機能します。

これがあなたに役立つことを願っています。

于 2012-11-15T12:13:23.383 に答える
1

あなたは最初のものだけを却下しています、これを試してください:

    - (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
        if (fldPassword == self->fldPassword) {
            [fldPassword resignFirstResponder];
        }
        if (fldUsername == self->fldUsername) {
            [self->fldUsername resignFirstResponder];
        }

        return YES;
    }
于 2012-11-15T11:01:21.647 に答える