【问题标题】:UIScrollView with decelerating animation while zooming (same behavior as in scroll)缩放时具有减速动画的 UIScrollView(与滚动中的行为相同)
【发布时间】:2014-11-12 13:03:24
【问题描述】:

我正在编写一个 UIScrollView 组件,用户与之交互的方式与他在地图应用程序(如谷歌地图或 Apple 的本地地图应用程序)中的交互方式相同。

我希望为用户提供与以往相同的滚动和缩放体验,即滚动和缩放时的减速效果。

通过设置 UIScrollView 的 decelerationRate 属性,滚动部分很容易实现。

我的问题是 - 我怎样才能为放大缩小实现相同的效果?

【问题讨论】:

    标签: ios iphone animation uiscrollview pinchzoom


    【解决方案1】:

    似乎没有用于惯性缩放的现有 API。这是自定义实现的基本思想。您可以调整系数。

    - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale{
        NSLog(@"DidEndZooming %f", scale);
        CGFloat speed = scrollView.pinchGestureRecognizer.velocity;
        NSLog(@"Speed: %f", speed);
        CGFloat targetScale = MIN(kMaximumZoomScale, MAX(1, scale + speed * 1/8));
        NSLog(@"Target: %f", targetScale);
        [scrollView setZoomScale:targetScale animated:YES];
    }
    

    【讨论】:

      猜你喜欢
      • 2011-07-04
      • 2011-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-27
      • 2020-04-28
      • 2012-05-10
      • 1970-01-01
      相关资源
      最近更新 更多