터치 이벤트가 히트 뷰 또는 제스처로 전달 될 수 있음을 알고 있습니다. 하지만 뭔가 내 데모에 혼란스러워 :UIGestureRecognizer는 UIResponder 체인과 어떻게 작동합니까?
내 root view에 하나의 testview (UIView의 하위 클래스), 다른 하나는 "testBtnClicked"인 testBtn (UIButton)입니다. 그런 다음 루트보기에 UITapGestureRecognizer를 추가하고 작업을 "tapAction"으로 설정합니다.
문제는 온다 : "탭 동작"및 "touchsCancelled : withEvent"방법
내가 루트 뷰 터치가 ": withEvent touchsBegan"를 트리거합니다. 그것이 내가 기대 한 것입니다.
testView를 터치하면 위와 동일하게 작동합니다.
내가 testBtn을 터치하면 "testBtnClicked"메소드가 실행됩니다. 왜요?
rootview가 아닌 testView를 터치하면 제스처가 인식되는 이유는 무엇입니까? testBtn을 터치해도 왜 인식되지 않습니까?