[iPhone] TextField キーボードを閉じる (Objective-C)

UITextField は文字を入力するためのUI
ユーザーがタッチするとキーボードが自動的に表示されテキストを入力することができます.

文字を Text Field に入力して、それを Label に表示するアプリを簡単に作ってみます。
尚、Swift のケースはこちら
 
スクリーンショット 2014-02-12 17.49.18
 

sponsored link

TextField キーボードを閉じる

 
storyboard に UITextField を配置して
入力した文字を表示する Label を下に置きます。
見やすくするため Inspector area で背景をそれぞれグレーに設定します。
 
textfield_1
 

UITextField のコーディング

 
UITextFieldDelegate を設定して Text Field のデータを受け取ります。
ViewController.h

 
Delegate で受け取ったデータを TextField に渡し、
ラベルの文字として代入して、それが終わったらキーボードを閉じます。

ViewController.m

 
キーボートを閉じる操作は自動ではやってくれない仕様になっています。
ただ、フォーカスを外せばキーボードは自動的に隠れます。
「Return」を押した時に textFieldShouldReturn が呼び出されて
resignFirstResponder を使ってフォーカスを外しキーボードを閉じます。
 
storyboard の UITextField と UILabel をView Controller Scene に接続します。
ビルド実行すると、 TextField の入力文字が Label に反映されたと思います。
 

UITextField のキーボードを隠す別の方法

 
別の方法ですが、コードは簡単です。
TextField の属性設定はもっとたくさんあるので、それを使うのはごく自然です。
この方法のメリットは上のやり方で「Return」をキーボードで閉じるために使えない場合です。
 
textfield_2
 
TextField は Referencing Outlet で textField に接続していますが
Set Events の Did End On Exit で IBAction としても接続します。
 
ViewController.h

 

ViewController.m

 
とてもシンプルになりました。
 
その他には UIViewController を使っている場合であれば
[self.view endEditing:YES];
のようにしてキーボードを閉じることができます。
 

ページのトップへ戻る
 
sponsored link

シェアする

  • このエントリーをはてなブックマークに追加

フォローする