2009-09-01 6 views
3

UIScrollView 내부에 일련의 UIView가 있으며 해당 뷰의 UIViewController가 터치 이벤트를 수신하지 않습니다. 스크롤보기에서보기를 가져 오면 작동합니다.UIScrollView 내의 UIView에서 터치 이벤트가 작동하지 않습니다.

뷰에서 userInteraction을 활성화했지만 여전히 작동하지 않습니다!

누군가가 올바른 방향으로 나를 가리킬 수 있다면 이것이 가능해야하며 정말 감사 할 것입니다.

감사합니다,

마이크

답변

1

뷰 컨트롤러의 loadView 메서드를 재정의하고 뷰의 인스턴스 변수를 터치를 전달하는 간단한 UIView 하위 클래스로 설정하여이 문제를 극복했습니다.

1

의 의견을 수행 자신의 터치 핸들러를하거나 접촉을 얻기 위해의 ViewController에 의존? 어떻게 설정했는지에 따라 뷰 컨트롤러를 거치지 않고도 뷰가 터치를 처리 할 수 ​​있습니다.

+0

보기에는 자체 터치 핸들러가 없으므로 컨트롤러에 핸들러가 있습니다. 스크롤 뷰 외부에 뷰를 배치 할 때이 모든 것이 작동하지만 내부 뷰는 배치되지 않습니다. –

0

스크롤보기에서 scrollin에 대한 scrollview 대리자 메서드보기에서 반환 할 항목을 확인하십시오.

mahboudz 언급 - 터치 이벤트에 대한 사용자 지정 처리기가 있는지 확인하십시오. 그렇지 않은 경우 가지고 계십시오. 당신이 바라는대로 무엇이든 할 수있는 훨씬 더 안도감을 느낍니다. scrollViewSuite에서 Apples 샘플 앱을 확인하십시오. 그들은 tapDetectingImageView 대리인이 있습니다. 내 앱에서 똑같이 사용하여 멋지게 작동했습니다. 희망이 도움이!

+0

나는 scrollView와 scrollViewDidScroll 델리게이트에서 viewForZooming을 의미했습니다. –

0

this post이 유용 할 수 있습니다. 이것은 이벤트를 차단하는 매우 깨끗한 방법의 예입니다.

0

터치 이벤트를 받고 싶어하는보기 용 터치 핸들러가 있습니다.

관련 문제