我有一个UIPanGestureRecognize,可用来更改视图框架。当手势的状态为UIScrollView时,是否有一种方法可以模拟UITableViewUIGestureRecognizerStateEnded的减速?这是我当前的代码:

if (panGesture.state == UIGestureRecognizerStateEnded)
{
    [UIView animateWithDuration:0.25 delay:0 options:UIViewAnimationOptionBeginFromCurrentState animations:^{
    self.view.frame = CGRectMake(182, 0, self.view.frame.size.width, self.view.frame.size.height);
}
                 completion:^(BOOL finished) {
                     if (finished) {
                        //Do something
                     }
                 }];
}

但这不是平滑的滚动。我想要减速的东西,直到它停止到我设定的点为止。谢谢

最佳答案

在WWDC 2012上的会议223“使用滚动视图增强用户体验”介绍了一种使用滚动视图的行为和“感觉”来动画化其他视图位置的方法(滚动视图实际上对用户不可见)。

会话中显示的方法的好处是,您的减速度现在和永远都将与UIScrollView的减速度匹配。

https://developer.apple.com/videos/wwdc/2012/?id=223

10-08 12:27