UITextFieldにテキストを入力するさいにキーボードが現れる。
テキストを入力し終えて、リターンキーを押しても、
キーボードは、そのままでは閉じない。
テキストを入力し終えて、リターンキーを押しても、
キーボードは、そのままでは閉じない。
リターンキーでキーボードを閉じるには
テキストフィールドの状態変化を知るのには、UITextFieldDelegateを用いる。
UITextFieldDelegate Protocol Reference
リターンキーが押されたときによばれるのは、-(BOOL)textFieldShouldReturn:(UITextField*)textField
そして、テキストフィールドに対して、resignFirstResponderメッセージを送ることによって、テキストフィールドからフォーカスが外れる。iPhoneでは、これでキーボードが閉じる。
ViewController.h
// 略 @interface ViewController : UIViewController<UITextFieldDelegate> // 略
ViewController.m
// 略
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// textFieldを設定
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 20, 100, 30)];
// textFieldの枠線を設定
textField.borderStyle = UITextBorderStyleLine;
// textFieldのdelegateをViewControllerに設定
textField.delegate = self;
// textFieldをviewに追加
[self.view addSubview:textField];
}
// リターンキーが押されたら、キーボードを閉じる
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
// 略
参考リファレンス
UITextField Class Reference
UITextFieldDelegate Protocol Reference