开发者

How to make dragging faster using velocityView in UIPanGestureRecognizer?

开发者 https://www.devze.com 2023-03-25 08:55 出处:网络
Having a little trouble understanding how to implement a faster dragging speed for the code I\'m using below (written by @PaulSoltz) which allows you to drag an object across the screen. I realize you

Having a little trouble understanding how to implement a faster dragging speed for the code I'm using below (written by @PaulSoltz) which allows you to drag an object across the screen. I realize you have to use the velocityInView method from UIPanGestureRecognizer, and I understand it returns the x velocity vector and y velocity vector. If velocity = distance over time, then for instance velocityx = (x2 - x1) / time and I'm unsure how to use this formula to get what I need. Basically I just want to be able to adjust the speed o开发者_StackOverflow社区f my movement to make it a little faster. Maybe I'm over thinking things, but if anyone could help me understand this it would be appreciated. Thanks.

- (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]];
    }
}


Just multiply the components of the translation vector by some constant.

[myView setCenter:CGPointMake(myView.center.x + translate.x * 2, myView.center.y + translate.y * 2)];
0

精彩评论

暂无评论...
验证码 换一张
取 消