2010-12-02 8 views
2

제스처가 현재 뷰 외부에서 시작된 경우 터치를 감지하는 방법이 있습니까?외부에서 시작된 터치 감지

예 :
나는 터치를 감지하는 작은보기가 있습니다.
사용자가 화면에서 손가락을 움직이면 화면이 보이지 않게 시작한 다음 손가락을 들지 않고 들어갑니다.
손가락이보기로 들어가면보기에 터치 이벤트가 발생하지 않습니다.

답변

1

pointInside:withEvent:을 덮어 씁니다. 부모보기 내에 있어야하고 하위보기가 표시되어야하고 사용자 상호 작용이 활성화되어 있어야합니다.

+0

죄송합니다.이 문제가 해결되지 않는다고 생각합니다. 어떤보기가 있어야합니까? 어린이 또는 부모? –

+0

하위보기 - 접촉을 감지 할 수있는 영역의 좌표에 대해 YES를 반환합니다. (처음부터 항상 YES로 돌아가서 뷰가 터치 이벤트를 받기 시작하는지 확인할 수 있습니다.) - – Ertebolle

+0

손가락이 다른 뷰로 이동하는 문제를 해결할 수 없다고 나는 여전히 생각하지 않습니다. 해제되지 않고 새로운보기가 이벤트에 응답하기 시작하지 않습니다. –

0

모든 화면을 커버하는 사용자 지정 투명 UIButton을 추가 할 수있는 방법을 기억합니다. 그리고 다른 뷰 외부에서 터치하면이 UIButton 이벤트가 트리거됩니다.

+0

나는 터치가 연속되는 시나리오를보고 있습니다. 외부에서 시작되어 뷰로 드래그됩니다. –

+0

나는 생각이있다. 모든 화면을 커버하고 백그라운드에있는 커스텀 뷰를 사용할 수 있고, 커스텀 뷰가 모든 터치 이벤트를 처리하도록하고, 커스텀 뷰 위에있는 타겟 뷰에 들어가는 터치를 모니터링 할 수 있습니다. – AechoLiu

+0

터치가 대상보기로 들어 오면 사용자 정의보기는 tochesBegan : withEvent :, touchesMoved : withEvent : 및 touchesEnded : withEvent 메시지를 사용하여 touches 이벤트를 대상보기로 리디렉션 할 수 있습니다. – AechoLiu

관련 문제