2つのテキストフィールド(ユーザー名とパスワード)を含むログイン画面があります。ユーザーがいずれかのテキストフィールドをクリックすると、キーボードが表示され、すべて問題ありません。ただし、ユーザーが最初のテキストフィールドで(キーボードの)[完了]をクリックする前に他のテキストフィールドをクリックした場合、ユーザー名のテキストは保存されません。元のテキストフィールドテキストを保存する唯一の方法は、テキストフィールドをクリックして[完了]を選択することです。
最初のテキストフィールドのキーボードがまだ開いている間、他のテキストフィールドがキーボードを表示しないようにしたいのですが、それが理にかなっている場合はどうでしょうか。テキストフィールドが編集できないようにする方法があることは知っていますが、キーボードがすでに開いていることをどのように知ることができますか?
別の解決策は、ユーザーがテキストフィールドの外側をクリックするたびにキーボードを無効にすることです。どうすればいいですか?
これが私のコードです:
textFieldEmail = [[UITextField alloc] initWithFrame:frame];
textFieldEmail.keyboardType = UIKeyboardTypeEmailAddress;
textFieldEmail.returnKeyType = UIReturnKeyDone;
textFieldEmail.tag = 0;
textFieldEmail.delegate = [[UIApplication sharedApplication] delegate];
textFieldPassword = [[UITextField alloc] initWithFrame:frame];
textFieldPassword.keyboardType = UIKeyboardTypeEmailAddress;
textFieldPassword.returnKeyType = UIReturnKeyDone;
textFieldPassword.tag = 1;
textFieldPassword.delegate = [[UIApplication sharedApplication] delegate];
- (BOOL) textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
ありがとう!