기어가더라도 제대로
TableView - didSelecAtRow 메서드가 입력이 안될때! 본문
두가지 경우가 있을 수 있다.
tableView.delegate = self
하나는 이것을 하지 않은 경우.
다른 하나는 GestureDelegate를 사용하고 있는 경우이다.
예를 들어 TapGestureRecognizer를 사용하고 있다면
didSelectAtRow 의 메서드를 실행하기 전에, gesture recognizer 를 먼저 확인한다.
그러면 어떻게 해야하는가?
@IBAction func tapView(_ sender: UITapGestureRecognizer) {
sender.cancelsTouchesInView = false
}
사용하고 있는 gestureRecognizer 에서 cancelsTouchesInView 프로퍼티를 false 로 설정한다.(기본값 = true)
제스처가 인식이 되었을 때 뷰에 이것을 전달할지 안할지에 대한 값이다.
제스처 인식기가 제스처를 인식하고 이 속성의 값이 true 면, 아직 멈춰있는 제스처의 터치들은 뷰로 전달이 되지 않고, 전달되었던 제스처들은 touchedCancelled() 메서드를 통해 취소가 된다.
제스처 인식기가 인식을 하지 않거나, 이 속성의 값이 false면, 뷰는 여러 터치 순서에 대한 터치를 받는다.
한마디로, 제스처 인식기 이외의 터치를 받는다는 말인듯..
'만난 에러들' 카테고리의 다른 글
[에러] 오래 응답이 없는 화면 - 2 (0) | 2024.12.11 |
---|---|
[에러] 오래 응답이 없는 화면 - 1 (0) | 2024.12.11 |
[UIKit-기초] UITabBarController 탭 이동 VS 화면 생성해서 이동 (2) | 2024.11.15 |
[HTTP Error] ATS(Apple Transfer Security) Policy를 준수하는 우아한 방법, iOS Simulator에서 http 요청 보내는 방법, since it does not conform to ATS policy (1) | 2024.06.14 |
PHPickerController와 효율적 메모리 사용(feat. memory leak) (0) | 2022.08.17 |
Comments