2011-08-09 3 views
0

UIImageView가 있고 드래그가 수행 된 시점을 결정하려고합니다. 드래그가 원점에서 얼마나 멀리 떨어져 있는지 확인하려고합니다. 나는 현재 다음을 가지고 있습니다 :드래그 포인트가 얼마나 먼지 확인

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
UITouch *touch = [touches anyObject]; 
CGPoint location = [touch locationInView:touch.view]; 

if(CGRectContainsPoint(myimage.frame, location) == 0){ 

} 
else 
{ //user didn't tap inside image} 

이미지 자체는 움직이지 않지만 손가락을 가지고 이미지를 클릭 한 다음 손가락을 드래그 할 수 있습니다. 그 거리를 결정하기 위해 노력하고 있습니다.

답변

3

거리를 계산하려면 사용자가 이미지를 탭한 경우 해당 포인트 (어딘가에 저장)를 touchesBegan에 기억해야합니다. 그러면 touchesMoved 또는 touchesEnd에서 현재 지점을 가져 와서 원래 지점까지의 거리를 계산할 수 있습니다. 당신이 UIImageView 원점에서 거리를 얻을 필요가있는 경우

, 당신은 [touch locationInView:myImage];

를 호출 할 수 있습니다 그리고 난 당신이 대신 직접 접촉을 처리 UIGestureRecognizer 클래스를 사용하는 것이 좋습니다. 그들은 더 간단하게 구현할 수 있습니다.

관련 문제