2014-11-10 1 views
0

내가 UIViews에 제스처 나눠에 대해 혼동하고의 하위 뷰 큰보기 보기 제스처 처리 : 작은보기

뷰 계층 구조에서 세 가지보기가 말에 감지 제스처. 이 이미지처럼

보여준다 :

enter image description here

V1 (Grey) 
| 
+ V2 (Orange) 
    | 
    + V3 (Red) 

각 뷰 갖는 부착 탭 제스처는

V1은 gesture1

V2가 gesture2

V3가 gesture3를 갖고 있음

V3가 너무 커서 V2 범위를 벗어납니다.

아래 이미지는 제스처가 응답 한 것을 보여줍니다.

enter image description here

내 질문 V2의 범위를 벗어 V3의 일부에 제스처입니다 : G1 대신 G3의 반응 왜

? g3 응답을 보내는 방법은 무엇입니까?

참고 : 나는 또한 당신이보기의 경계의 외부 이벤트를 수신 할 수

답변

1

작동하지 않습니다, v3.userInteractionEnabled = true을 설정합니다. 주황색보기에는 이벤트가 수신되지 않습니다. 그러므로, 그것은 당신의 붉은 색의 견해로 사건들을 전달하지 않을 것입니다.

이 작업을 수행하려면 주황색보기와 빨간색보기를 그룹화하지만 양쪽에 모두 맞을만큼 큰 공통 부모 중 하나를 사용하여보기 계층 구조를 수정하거나 단순히 제스처 인식기를 회색으로 연결해야합니다 슈퍼 뷰를 작성한 다음 터치 위치를 뷰의 경계와 비교합니다.