【发布时间】:2013-02-08 19:50:01
【问题描述】:
我想让 UIScrollView 中的分页/滚动更快,所以当用户离开手指时,无论加速速度如何,下一页都会比正常速度更快。
【问题讨论】:
-
我尝试了
decelerationRate属性,但没有任何改变。
标签: ios objective-c uiscrollview scroll paging
我想让 UIScrollView 中的分页/滚动更快,所以当用户离开手指时,无论加速速度如何,下一页都会比正常速度更快。
【问题讨论】:
decelerationRate 属性,但没有任何改变。
标签: ios objective-c uiscrollview scroll paging
调整 UIScrollView 的 decelerationRate。
【讨论】:
UIScrollViewDecelerationRateNormal, UIScrollViewDecelerationRateFast
如果我正确理解您的问题,您已将 ScrollView 设置为捕捉到页面(pagingEnabled = YES)。当用户抬起手指时,您希望它比当前更快地捕捉到最近的页面吗?
如果这是您想要完成的,我建议您这样做:
scrollViewDidEndDragging:willDecelerate:。您还需要覆盖 scrollViewWillEndDragging:withVelocity:targetContentOffset: 方法,以便获得拖动的速度。scrollViewDidEndDragging:willDecelerate: 中,您可以计算拖动的方向(使用从其他方法获得的速度)和到最近页面的偏移量。从那里,它就像使用具有所需持续时间的 UIView 动画块设置滚动视图的 contentOffset 一样简单。例如:[UIView animateWithDuration:.25f animations:^{
scrollview.contentOffset = calculatedCGPoint;
}];
这应该会给你想要的效果。
【讨论】: