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