終了編集イベントでキーボードを非表示にしたいのですUITextField
が、どういうわけか次のコードを機能させることができません! 完了ボタンを押すとキーボードが非表示になりますが、完了ボタンを押さUITextField
ないとキーボードが不要な別の場所に移動しますが、 UIPickerView
. 基本的UIPickerView
には表示されていますが、キーボードの後ろにあります。現在のUITextField
編集終了イベントと必須テキスト フィールドの編集開始を辞退します。前のUITextField
. 誰かが私が間違っていることを教えてもらえますか?
次のシーケンスが機能します。
- 通常
UITextField
を選択してテキストを挿入し、完了ボタンを押します(これによりキーボードが非表示になります) - ピッカーを選択
UITextField
(ピッカー ビューが表示されます)
..しかし、以下はしません:
- 法線
UITextField
を選択してテキストを挿入 ピッカーを選択
UITextField
します (前の [完了] ボタンを押さなかったので、ピッカー ビューはキーボードの後ろにありますUITextField
)。ここでは終了編集を呼び出しますが、キーボードは非表示になりません!- (BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; scrollView.contentSize = CGSizeMake(320, 750); [scrollView setFrame:CGRectMake(0, 0, 320, 480)]; return YES; } -(void)textFieldDidEndEditing:(UITextField *)textField { [textField resignFirstResponder]; } - (void)textFieldDidBeginEditing:(UITextField *)textField { DatePicker.hidden = YES; CountryPickerView.hidden = YES; switch (textField.tag) { case 3: [textField resignFirstResponder]; DatePicker.hidden = NO; return; case 6: [textField resignFirstResponder]; CountryPickerView.hidden = NO; return; default: break; } scrollView.contentSize = CGSizeMake(320, 650); [scrollView setFrame:CGRectMake(0, 0, 320, 260)]; }