[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()
}
}