코드를 빠르게 드래그 속도를 구현하는 방법을 이해하는 데 어려움이 있습니다. 아래에서 (@PaulSoltz 작성)를 사용하면 화면에서 객체를 드래그 할 수 있습니다. UIPanGestureRecognizer
에서 velocityInView
메서드를 사용해야한다는 것을 알고 있으며, x 속도 벡터와 y 속도 벡터를 반환한다는 것을 알고 있습니다. 속도 = 시간 경과에 따른 거리 인 경우 예를 들어 velocityx = (x2 - x1)/time
과 같이이 수식을 사용하여 필요한 정보를 얻는 방법을 잘 모르겠습니다. 기본적으로 나는 조금 더 빨라지도록 나의 움직임의 속도를 조절할 수 있기를 원한다. 어쩌면 나는 생각하는 것 이상의 일이지만, 누군가가 나를 이해하도록 도울 수 있다면 그것은 인정 될 것이다. 감사.UIPanGestureRecognizer에서 velocityView를 사용하여 빠르게 드래그하는 방법은 무엇입니까?
- (void)handlePanGesture:(UIPanGestureRecognizer *)gestureRecognizer {
UIView *myView = [gestureRecognizer view];
CGPoint translate = [gestureRecognizer translationInView:[myView superview]];
if ([gestureRecognizer state] == UIGestureRecognizerStateChanged || [gestureRecognizer state] == UIGestureRecognizerStateChanged) {
[myView setCenter:CGPointMake(myView.center.x + translate.x, myView.center.y + translate.y)];
[gestureRecognizer setTranslation:CGPointZero inView:[myView superview]];
}
}
좋아? 의미가 있습니다 ... –
이것은 작업을 수행하지만 손가락으로 움직이는 것보다 이미지가 빠르게 움직이게하므로 재미있게 보입니다. 나는 손가락 속도에 기반을두고 있기 때문에 이것을하지 않고 더 빠르게 움직일 수있는 방법이 있다고 생각하지 않습니다. –