【问题标题】:Inertial scrolling in UIPageControl with UIScrollView使用 UIScrollView 在 UIPageControl 中进行惯性滚动
【发布时间】:2013-01-01 23:24:32
【问题描述】:

我有一个启用分页的UIScrollView,以及一个对应的UIPageControl 来指示当前页面。这很好用,但我想引入惯性滚动以通过一次滑动来导航多个页面。

我见过的一个例子是 iOS 的 StickTennis 应用程序。我该如何做类似的事情?

【问题讨论】:

    标签: uiscrollview uipagecontrol inertial-navigation


    【解决方案1】:

    您将滚动视图的pagingEnabled 属性设置为NO,然后使用数值推导计算用户手指离开屏幕时的滚动速度。从现在开始,你可以使用s = v0 * t + a / 2 * t ^ 2 公式来计算滚动视图的新位置(当a 是一个恒定的减速率,v0 是你刚刚计算的速度),然后你会重复调用scrollRectToVisible:animated: 带有适当更新的 rect 参数。

    【讨论】:

    • 听起来很简单!谢谢,我试试看!
    • @VinodVishwanath 不客气。是的,我认为这确实很简单。
    • 我在捕捉UIScrollView 上的touchesEnded 事件时遇到了一些麻烦,因此我通过在scrollViewDidScroll 方法中找到uiView.contentOffset.x 值之间的差异来计算速度。但是你的回答是合乎逻辑的,所以我标记了它。再次感谢!
    • @VinodVishwanath 没问题,这是一个很好(如果不是更好)的解决方案。
    猜你喜欢
    • 2019-01-11
    • 1970-01-01
    • 2013-06-04
    • 1970-01-01
    • 1970-01-01
    • 2012-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多