今回の記事はSwiftでアプリ内のtextfieldのキーボード外をクリックしてキーボードを消す方法をご紹介する内容です。分かりやすく記載していくので是非参考にしてみて下さい。
textfieldを配置

配置したtextfieldをoutlet接続します。今回は「text」で接続します。
キーボード外クリックでキーボードを消す
import UIKit
import AVFoundation
class ViewController: UIViewController,UITextFieldDelegate {
@IBOutlet weak var testtext: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
testtext.delegate = self
setupToHideKeyboardOnTapOnView()
}
func setupToHideKeyboardOnTapOnView()
{
let tap: UITapGestureRecognizer = UITapGestureRecognizer(
target: self,
action: #selector(dismissKeyboard))
tap.cancelsTouchesInView = false
view.addGestureRecognizer(tap)
}
@objc func dismissKeyboard()
{
view.endEditing(true)
}
}
少し解説を行います。キーボード外のクリックを検知するために、画面のクリックを「UITapGestureRecognizer」で設定します。
textfieldのキーボードは「view.endEditing(true)」で消えるのでクリックした画面がキーボード外の場合はselectorにより「dismissKeyboard」が動くという流れです。
buildすると確認できると思います。
では今回の記事は以上です。他にも多数のswift記事を記載しているので、是非参考にしてみて下さい。
コメント