iOS/Swift

[Swift] 화면 눌러서 키보드 내리기 (Tap to hide keyboard)

HUISOO 2022. 8. 12. 14:39

이 포스트는 화면을 눌러서 키보드를 닫기에 대한 포스팅입니다 :)

 

최종 수정일 - 22. 08. 12 PM 02:40



1. 아래 함수를 extention으로 추가합니다.

extension UIViewController {
    // ViewController에서 해당 함수 실행
    func setupHideKeyboardOnTap() {
        self.view.addGestureRecognizer(self.endEditingRecognizer())
        self.navigationController?.navigationBar.addGestureRecognizer(self.endEditingRecognizer())
    }
    
    // 다른곳에서는 쓸 일이 없으므로 private
    private func endEditingRecognizer() -> UIGestureRecognizer {
        let tap = UITapGestureRecognizer(target: self.view, action: #selector(self.view.endEditing(_:)))
        tap.cancelsTouchesInView = false
        return tap
    }
}

 

2. viewDidload(_:) 에서 호출

override func viewDidLoad() {
    super.viewDidLoad()

    setupHideKeyboardOnTap()
}

 

3. 키보드가 열린 상태에서 화면을 눌러 확인하기