WEBアプリケーション研究室 開発ノート TOP

WEBアプリケーション研究室 開発ノート [iPhone開発]UITextFieldでキーボードを消す

スポンサーサイト

-------- --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

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

UITextFieldはHTMLフォームのinput textのような入力欄です。View上に配置するだけで、クリック時にキーボードがでる優れものですが、キーボードを消す挙動は実装しなければなりません。まず、returnキーを押したら消えるようにしましょう。これにはdelegateを使います。delegate先に指定したクラスに下のメソッドを実装します。


- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
FirstResponderとは名前の通りですが、ユーザーのアクションに対して最初に応答するオブジェクトです。入力中のフィールドはFirstResponderなのでこれを放棄することによりキーボードを消すことができます。

あと、フィールドの外側をタップするとキーボードが消えるようにしようと思います。これにはフィールドの外側に透明のでかいボタンをおいて、そのアクションでFirstResponderを放棄するように書きます。ボタンはIBでTypeをCustomにすると見えなくなります。このボタンは重なり順が一番奥にないと、ほかのアクションを邪魔してしまうので注意しましょう。

- (IBAction)backgroundClick:(id)sender
{
[field1 resignFirstResponder];
[field2 resignFirstResponder];
[field3 resignFirstResponder];
[field4 resignFirstResponder];
}
例えば複数フィールドがあっても、resignFirstResponderはFirstResponderではないものに送っても問題がないので、確かめずに送れます。
スポンサーサイト

    このエントリーをはてなブックマークに追加
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。