如何加快在UIScrollView滚动?

我想让UIScrollView中的分页/滚动更快,所以当用户移动手指时,不pipe加速的速度如何,下一页的速度都会比正常快。

提前致谢

调整你的UIScrollView的decelerationRate比率。

更多阅读: UIScrollView类参考

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

如果这就是你想要完成的,那么我build议:

  • DISABLE pagingEnabled(pagingEnabled = NO)。 我们将自己做。
  • 设置一些对象(可能是ViewController)作为滚动视图的委托。
  • 在滚动视图委托中,覆盖方法scrollViewDidEndDragging:willDecelerate: 你也会想要重写方法scrollViewWillEndDragging:withVelocity:targetContentOffset:这样你就可以获得拖动的速度了。
  • scrollViewDidEndDragging:willDecelerate: ,可以计算拖动的方向(使用从其他方法得到的速度),并将偏移量计算到最近的页面。 从这里,就像使用具有所需持续时间的UIViewanimation块设置scrollview的contentOffset一样简单。 例如:

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

这应该给你想要的效果。