理解如何为我下面使用的代码(由@PaulSoltz编写)实现更快的拖动速度有一点麻烦,它允许您在屏幕上拖动对象。我意识到你必须使用velocityInView
中的UIPanGestureRecognizer
方法,我理解它会返回x速度向量和y速度向量。如果velocity =距离随时间变化,那么例如velocityx = (x2 - x1) / time
,我不确定如何使用这个公式来得到我需要的东西。基本上我只是希望能够调整我的运动速度,使其更快一点。也许我在思考问题,但如果有人能帮我理解这一点,我们将不胜感激。感谢。
- (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]];
}
}
答案 0 :(得分:0)
只需将平移向量的分量乘以某个常数。
[myView setCenter:CGPointMake(myView.center.x + translate.x * 2, myView.center.y + translate.y * 2)];