我想复制UISCrollview的轻弹到滚动行为,但我不想使用(或不能使用)该类。我能做些什么?

有帮助吗?

解决方案

好的,我通过实现自己的库来捕捉UISCrollView的动态来回答这一点。

我的代码有用的是,它独立于坐标系,动画率和您使用的特定UI类。它可以很容易地嵌套在您选择的自定义视图类中。

iPhone的默认轻弹到滚动行为很有趣。如果您将手指固定很长时间并以各种方向移动,您会发现只有最后一个方向用于计算滚动运动。

但是,如果您尝试自己构建此代码,但是您会很快发现,仅使用最后两个点来计算运动方向不会削减它。取而代之的是,我的代码保持了短暂的触摸历史,并使用线性插值来确定触摸“本来就是”的位置。该插值点被用作计算运动矢量的基础。这导致了非常令人愉悦的互动。

该代码可在GitHub上找到: http://gist.github.com/100855. 。它是根据BSD许可发布的。

其他提示

那么,uiscrollview对您不起作用呢?那堂课非常灵活...

戴夫(Dave),我看到您已经用一些代码回答了自己的问题,但是没有设置以下内容给您您的需求:

myScrollView.bounces = YES;
myScrollView.pagingEnabled = YES;
myScrollView.directionalLockEnabled = YES;

具体来说,听起来您已经重新完成了 directionLockEnabled. 。也许了解为什么您不能使用UISCrollView是一个更有趣的问题:-)

这很酷!我在一个应用程序中使用了它,在该应用程序中,我的可滚动视图是1902 - 2037年范围内的一天的图形数据,因此UISCrollView不会有效。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top