2012-09-04 3 views
2

나는 이와 비슷한 많은 질문을 보았지만 정확히 어떤 것도 도와주지 못했습니다. 넓은 UISliders가 많은 UIScrollView를 채우고 있습니다. 슬라이더에 엄지를 드래그하면 가로 UIScrollView가 잠기고 세로 슬라이딩 만 허용되기를 원합니다. 엄지 손가락 이외의 UISlider를 드래그하면 가로 방향의 UIScrollView를 스크롤 할 수 있습니다. 드래그하기 전에 엄지 손가락을 터치하면 현재 작동합니다.UISlider thumb을 만지는 방법 UIScrollView 스크롤을 방지합니다

스크롤 뷰에서 touchesShouldCancelInContentView를 재정의했지만 해당 메서드에서 중단 점에 도달하지 않았습니다.

+0

스크롤보기가 비활성화 된 상태에서 시작하여 엄지 손가락 이외의 다른 부분을 만지면 스크롤이 허용됩니다. 이것은 나에게 느껴지고 스크롤 창에 넣은 모든 것이 명시 적으로 수평 스크롤을 가능하게해야한다는 것을 의미합니다. – Ant

+0

스크롤 할 수있는 터치가 스크롤 할 때 스크롤 뷰에서 사용되지 않았기 때문에 작동하지 않았습니다. 두 번째 손가락이 스크롤됩니다. – Ant

+0

UIScrollView [문서] (http://developer.apple.com/library/ios/#documentation/uikit/reference/UIScrollView_Class/Reference/UIScrollView.html) :이 결정을 내리기 위해 일시적으로 터치 다운 이벤트를 가로 챕니다 타이머를 시작하고 타이머가 작동하기 전에 접촉하는 손가락이 움직이는 지 확인하십시오. 터치 다운이 엄지 영역에있는 경우 이동 스크롤을 허용하는 결정을 무시하고 싶습니다. 덕분에 – Ant

답변

2

touchesShouldBegin : withEvent : inContentView를 오버라이드하고 터치 메시지를 가로 채기 위해 delaysContentTouches를 NO로 설정해야했습니다.

+0

. 이것은 매력처럼 작동했습니다. :) –

관련 문제