[XCODE] TextFieldでリターンキーを押された際に、キーボードを閉じる方法
iPhone開発で、キーボードでの入力を行うUIを設置する事が多いはず。
使っていて、キーボードが開いて編集が終わった際に、デフォルトでは閉じないんですね。
リターンキーを押した際に閉じる方法を学んだので、ブログに記載したいと思います。
そして、Delegateのメソッドでリターンキーを押された際に呼び出されるメソッドで、以下のような実装をします。
なので、何かボタンを押したらキーボードを隠したい場合にも、そのメソッド呼び出しをすれば大丈夫です。
UITextFieldDelegate Class Reference
色々と調べたり、またその結果を自分のブログにも書いて、こーゆうスニペットをYoheiM.NETに集めたいと思います。
ご参考になっていれば幸いです。
最後までお読み頂きましてありがとうございました(*゚▽゚)ノ
使っていて、キーボードが開いて編集が終わった際に、デフォルトでは閉じないんですね。
リターンキーを押した際に閉じる方法を学んだので、ブログに記載したいと思います。
UITextFieldのDelegateを用いてキーボードを閉じる
UITextFieldにフォーカスがあたるとキーボードが出現します。 キーボードでの入力が終えてリターンキーを押して、キーボードを閉じる為には、UITextFieldDelegateを UITextFieldに設定します。// textFieldはUITextField型の変数 textField.delegate = self;
そして、Delegateのメソッドでリターンキーを押された際に呼び出されるメソッドで、以下のような実装をします。
- (BOOL)textFieldShouldReturn:(UITextField *)targetTextField { // textFieldを最初にイベントを受け取る対象から外すことで、 // キーボードを閉じる。 [targetTextField resignFirstResponder]; return YES; }「resignFirstResponder」メソッドを呼び出す事がミソで、これを呼び出すとキーボードが隠れます。
なので、何かボタンを押したらキーボードを隠したい場合にも、そのメソッド呼び出しをすれば大丈夫です。
参考資料
UITextFieldのDelegateには、他にもメソッドが用意されています。詳しくは以下をご参照ください。UITextFieldDelegate Class Reference
最後に
ちょっとした事ですが、コーゆう事を知ってて、サンプルコードを持っていると実装スピードが上がっていいなぁと思います。色々と調べたり、またその結果を自分のブログにも書いて、こーゆうスニペットをYoheiM.NETに集めたいと思います。
ご参考になっていれば幸いです。
最後までお読み頂きましてありがとうございました(*゚▽゚)ノ