ユーザーがボタンをクリックしたときにキーボードを閉じるにはどうすればよいですか?理解を深めるための簡単な例:ユーザーは一部のテキストフィールドのテキストを編集し、最後にキーボードの[完了]をクリックしたり他の文字を入力したりしませんが、キーボードが表示されている間に[保存]ボタンをクリックします。では、どうすればキーボードを閉じることができますか?
どうも。よろしく、ダニエル
[view endEditing:YES]
階層内のテキスト フィールドの上にある任意のビューを呼び出すこともできます。これは、どのテキスト フィールドがファーストレスポンダー ステータスなのかわからない場合に便利です。オプションで、テキスト フィールド デリゲートがアクションを停止できるようにすることもできます (shouldEndEditing: から NO を返すことにより)。これは、デリゲートを使用してフィールドの検証を行う場合に便利です。
ボタンアクション書き込みで、
if([textField isFirstResponder]){
[textField resignFirstResponder];
}
さらにテキストフィールドがある場合は、編集の開始時に毎回現在のテキストフィールド参照を取得し、ボタンアクションでそのレスポンダーを辞任します。
複数のテキスト フィールドがあり、どれがファーストレスポンダかわからない場合 (または、このコードを記述している場所からテキスト フィールドにアクセスできない場合)、テキスト フィールドを含む親ビューで endEditing: を呼び出すことができます。 .
Swift では、関連するビュー コントローラーで、次の行をボタン関数に追加します。
self.view endEditing(true)