2011-02-02 4 views
2

나는 velocityInView를 반환하기 위해 UIPanGesture를 사용하고 있으며 수집 한 것부터 초당 포인트를 반환한다고 가정합니다. 내가 얻는 것은 수억의 숫자와 많은 0입니다 ... 나는 시뮬레이터에서 마우스를 빠르게 움직이지 않을 것입니다.iOS - UIPanGesture에서 velocityInView 만들기

내 생각에 ...

미리 도움 주시면 감사하겠습니다.

편집 : 요청 된 코드. 코드없이

-(void)handlePanGesture:(UIPanGestureRecognizer *) recognizer 
{ 
    if (recognizer.state == UIGestureRecognizerStateChanged || 
     recognizer.state == UIGestureRecognizerStateBegan) 
    { 
     CGPoint vel = [recognizer velocityInView:myScrollView]; 
     //[self doSpinAnimationWithVelocity:vel.x]; 
     NSLog([NSString stringWithFormat:@"Velocity - X-Axis - %d ", vel.x]); 
     NSLog([NSString stringWithFormat:@"Velocity - Y-Axis - %d ", vel.y]); 
    } 
} 

Image here of output since I'm still below 10 rep

+0

차이가 나는 경우에만 x 축을 캡처하고 있습니다. – Mytheral

+0

y 축은 유사한 정보를 제공합니다. – Mytheral

+0

velocityInView를 호출하는 코드와 그 번호를 보여주는 방법을 보여줍니다. – Anna

답변

4

를 호출

표시/그 ...

CGPoint 당신이 할 수있는 방법을 당신이 그들을 인쇄에 따라 CGFloats로 구성되어 하드 대답 예기치 않은 결과가 발생합니다.

velocityInView로 전달하는보기는보기 계층 구조에 있어야합니다. windowInterface : velocityInView : method에 전달하기 전에 윈도우 속성보기

+0

이 답변은 기술적으로는 정확했지만 매트는 위의 의견에 머리를 맞 춥니 다. 모두에게 감사드립니다. – Mytheral

+3

사람에게 생선을 주면 그 사람이 하루 동안 먹는 사람을 가르치면 사람들은 하루 동안 먹습니다. –

0

velocityInView처럼 보입니다 : 수평 및 수직 구성 요소를 나타내는 CGPoint를 반환합니다 (기본적으로 벡터입니다). 속도가이 두 가지 구성 요소로 나뉘어 지므로 값을 분석하는 방법에주의해야합니다. (NSStringFromCGPoint를 체크 아웃 : 당신의 속도가 아니라 속도에 대한 자세한 내용을 찾고 있다면, 당신은 같은 즉, 벡터의 크기, 뭔가 걸릴 것 : 나는 파티에 조금 늦게 해요 알고

CGFloat magnitude = sqrtf((velocityPoint.x * velocityPoint.x) + (velocityPoint.y * velocityPoint.y)); 
+0

명확성을 위해 이것은 코드 샘플과 이미지 앞에 게시되었습니다. – Mytheral

1

,하지만 또 다른 팁) 및 가족 :

-(void)handlePanGesture:(UIPanGestureRecognizer *) recognizer 
{ 
    if (recognizer.state == UIGestureRecognizerStateChanged || 
     recognizer.state == UIGestureRecognizerStateBegan) 
    { 
     CGPoint vel = [recognizer velocityInView:myScrollView]; 
     NSLog(@"%@", NSStringFromCGPoint(vel)); 
    } 
} 
관련 문제