1. 스크롤 뷰에서 키보드 내리기

    : UIView 환경에서는 TextField 사용시 키보드 노출 상태에서 touchesBegan 을 이용하지만 UIScrollView에서는 스크롤 터치 이벤트가 동작해서 touchesBegan 함수가 호출되지 않는다.

      UIScrollView에서는 UITapGestureRecognizer 이용해서 키보드를 내리게 해야된다.

// UIView 의 경우
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
	view.endEditing(true)
}

// UIScrollView 의 경우
override func viewDidLoad() {
	super.viewDidLoad()
    
    let singleTapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tabGesture))
        singleTapGestureRecognizer.numberOfTapsRequired = 1
        singleTapGestureRecognizer.isEnabled = true
        singleTapGestureRecognizer.cancelsTouchesInView = false
        scrollView.addGestureRecognizer(singleTapGestureRecognizer)
}

@objc func tabGesture(sender: UITapGestureRecognizer) {
	view.endEditing(true)
}

+ Recent posts