2012-01-27 3 views
2

UISlider (슈퍼 뷰에서) 외부에서 터치를 시작하고 터치가 UISlider으로 이동하면 정상적으로 슬라이드합니다. 어떻게 구현해야합니까?외부에서 시작된 터치를 처리하기 위해 UISlider 사용자 정의

+0

터치가 슬라이더의 엄지 위로 이동하면 슬라이딩을 시작하겠습니까? 슬라이더는 엄지 밖의 슬라이더 트랙에서 시작되는 터치를 무시합니다. –

+0

@robmayoff 예, 터치가 시작된 위치에 관계없이 터치가 엄지 손가락으로 움직일 때마다 슬라이딩을 시작하고 싶습니다. ('UISlider'의 다른 곳이나 수퍼 뷰에 있습니다.) –

답변

2

이 사용자 정의 클래스를 수퍼 뷰로 만들고 slider 콘센트를 슬라이더에 연결하십시오. 슬라이더 자체에있을 수있는 사용자 지정 추적을 제외하고 필요한 작업을 수행해야합니다. 수퍼 뷰의 제스처 인식기와 잘 일치하지 않을 수 있습니다 (예 : 수퍼 뷰가 스크롤 뷰이면 모든 베팅이 꺼짐).

이렇게하면 수퍼 뷰에서 터치에 응답해야하는 다른보기도 무시됩니다. 미세 입자 제어를 사용하는 경우 hitTest:forEvent:을 업데이트하고 적절한 경우 MyView 또는 슬라이더 만 반환하십시오.

+0

'TrackingWithTouch' 메소드는 제가 찾고있는 메소드였습니다. 이전에는'touches ... '이벤트를 전달하려는 경우를 제외하고 비슷한 설정을 사용했습니다. 이제 작동합니다. 감사! –

관련 문제