2011-02-12 11 views
0

모든 접촉을 가로 채고, 특정 조건을 검사하며, 충족되지 않으면 해당 서브 뷰로 터치를 전달하는 UIView 하위 클래스를 만들었습니다. 문제는 하위보기가 터치를 가로 채지 않으면 바로 응답기 체인을 내보기로 바로 다시 전달한다는 것입니다. 여기서는 으로 돌아가며 하위보기에 등을 전달합니다. 어떻게 이런 일이 일어나지 않게 할 수 있습니까?UIView 이벤트 전달 무한 루프

+0

터치 이벤트 전달 방법은 무엇입니까? – Anurag

+0

'[super hitTest : withEvent :]'를 호출하여 적절한 뷰를 얻고,'self'가 아닌 경우'[aView touchesMoved : withEvent :]'를 호출합니다. – denizen

답변

0

응답자 체인은 이벤트를 수퍼 뷰로 전달하도록 설계되었습니다. 하위 뷰를 선택적으로 이벤트를 처리하도록 (반대 조건 확인) 이벤트를 처리해야 할 때 이벤트를 superview로 전달할 수 있습니다.

그러나 슈퍼 뷰만 조건을 확인할 수 있으면 서브 뷰는 슈퍼 뷰가 보내는 이벤트를 처리해야합니다 (적어도 슈퍼 뷰로 이벤트를 전달하는 UIView의 이벤트 처리 루틴을 호출하지 않아야 함).