2012-04-29 5 views
0

일부 프레임 내에서 UIView를 드래그하여 (0, 0, 320, 190) 말하십시오. 오프셋을 사용하여 UIView를 드래그하려면 어떻게해야합니까? UIView를 터치하면 UIView가 손가락 아래로 움직이지 않아야합니다.UIView 드래그

오프셋을 사용하면 UIView가 위 프레임 내에서 이동해야합니다. 어떻게해야합니까?

아이디어를 알려주세요.

+2

당신은 무엇을 시도 했습니까? –

+0

touchesmoved : 터치 포인트를 오버라이드하고 터치 점을 가운데로 설정합니다. – user1305194

+1

이제 'it'이 무엇입니까? –

답변

0

먼저 손가락이있는 곳을 집어 들고 손가락 위치 인 [제스처 locationInView : parentView]와 하위보기의 프레임 위치 사이에서 x 축과 y 축의 변화를 계산하는 데 팬 제스처 인식기를 먼저 사용해야합니다. 이 값에 옵셋을 추가하십시오.

방금 ​​계산 한 x, y 변경 사항을 사용하고 UIView animateWithDuration을 사용하고 CATransform3DTranslate를 사용하여 번역을 수행합니다. 하위 뷰는 (애니메이션으로) 손가락 + 오프셋의 위치로 이동합니다.

상위 뷰 내부에 유지하려면 번역을 통해 하위 뷰의 프레임이 상위 뷰의 경계를 벗어나지 않도록하고 하위 뷰의 모든 부분이 부모 뷰 외부로 이동하도록 부모 뷰를 클립하십시오 상위보기는 표시되지 않습니다.