[swift] キーボードの入力が終了したらキーボードを隠す方法(TextField/TextView)
目次
キーボードの入力が終了したらキーボードを隠す方法
キーボードの入力が終了したらキーボードを隠すには以下のコードを実装
TextFieldの場合
// UITextFieldDelegateをViewControllerに実装 class ViewController: UIViewController, UITextFieldDelegate { @IBOutlet var textField :UITextField! @IBOutlet var mLabel :UILabel! override func viewDidLoad() { super.viewDidLoad() // textFiel の情報を受け取るための delegate を設定 textField.delegate = self } func textFieldShouldReturn(textField: UITextField) -> Bool{ mLabel.text = textField.text // キーボードを閉じる textField.resignFirstResponder() return true } }
TextViewの場合
TextViewの場合はキーボードのリターンキーを押しても改行するだけなので、別途閉じるボタンをViewのどこかに配置しておく必要がある
// UITextViewDelegateをViewControllerに実装 class ViewController: UIViewController, UITextViewDelegate { @IBOutlet var textView :UITextView! @IBOutlet var mLabel :UILabel! override func viewDidLoad() { super.viewDidLoad() // textView の情報を受け取るための delegate を設定 textView.delegate = self } //閉じるボタンで呼び出されるメソッド @IBAction func onClickCloseButton(sender: UIButton) { mLabel.text = textView.text textView.resignFirstResponder() } }