Swift/UIScrollView
[SWIFT]UIScrollView 에서 키보드 노출시 키보드 내리기
삽질중
2023. 7. 14. 09:44
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)
}