iOS UITextField でRetrunを押したときにキーボードを閉じる。
English version below.
はじめに
意外と忘れてしまうことの方法。 実はきちんとAppleの公式ドキュメントにも書かれています。
やり方
- UITextFieldDelegate に適合する
- 対象のUITextFieldインスタンスのDelegateを設定する
- textFieldShouldReturn:を実装する
- textFieldShouldReturn: でUITextFiedlインスタンスに対して、resignFirstResponder()を呼ぶ
- textFieldShouldReturn: trueかfalseを返す
解説
textFieldShouldReturn:
textFieldShouldReturn:はキーボードでRetrunキーが押されたときに呼ばれます。
UITextField の規定の処理をReturnキーを押した後も実行したい場合はtrue、それ以外はfalseを返します。
キーボードを閉じるだけの場合はtrueでもfalseでも良さそうです。
regsinFirstResponder
FirstResponderすなわちフォーカス、フォーカスを破棄することの宣言です。
キーボードはフォーカスから外れると閉じるようになっています。
したがって、Retrunキーが押された際にUITextFieldからフォーカスを外すことでキーボードを閉じることができます。