如何加快UIScrollView中的滚动?

4ma*_*oud 5 paging scroll objective-c uiscrollview ios

我想在UIScrollView中进行分页/滚动更快,所以当用户左手时,无论加速的速度如何,下一页都会比正常情况更快.

提前致谢

Jer*_*emy 10

调整decelerationRate你的UIScrollView.

更多阅读:UIScrollView类参考


Aar*_*man 5

如果我正确理解你的问题,你已经设置了 ScrollView 来捕捉页面(pagingEnabled = YES)。当用户抬起手指时,您是否希望它比当前更快地捕捉到最近的页面?

如果这就是你想要完成的,这就是我的建议:

  • 禁用分页启用(分页启用 = 否)。我们要自己做。
  • 设置一些对象(可能是 ViewController)作为滚动视图的委托。
  • 在 Scrollview 委托中,覆盖方法scrollViewDidEndDragging:willDecelerate:。您还需要覆盖该方法,scrollViewWillEndDragging:withVelocity:targetContentOffset:以便获得拖动速度。
  • 在 中scrollViewDidEndDragging:willDecelerate:,您可以计算拖动的方向(使用从其他方法获得的速度)和到最近页面的偏移量。从那里开始,就像使用UIView具有所需持续时间的动画块设置滚动视图的 contentOffset 一样简单。例如:

[UIView animateWithDuration:.25f animations:^{ scrollview.contentOffset = calculatedCGPoint; }];

这应该会给你想要的效果。