如何在UISnapBehavior动画期间维护UIScrollView中的相对滚动位置?

时间:2013-09-24 15:36:35

标签: ios objective-c uiscrollview

我正在使用UIDynamicAnimator的UISnapBehavior来动画这两个状态之间的圆圈: http://cl.ly/image/1G3p1B2x2v14/Image%202013.09.24%2011%3A35%3A43%20AM.png

这很有效。但是,我把它放在UIScrollView中。当我在UISnapBehavior动画“已经确定”之前滚动(看起来它看起来像完成后它实际上完成时似乎有延迟),圆圈失去了它们对滚动容器的相对定位: http://cl.ly/image/1E0I3l460J1V/Image%202013.09.24%2011%3A32%3A10%20AM.png

当我在动画“安顿好”后等待几秒后滚动时,圈子不会失去相对位置

我假设这是因为UISnapBehavior为固定位置的动画设置动画,然后在完成后恢复到相对定位,但我不确定这是否属实。

2 个答案:

答案 0 :(得分:2)

我在包含UIScrollView的UIView上设置了UIDynamicAnimator。将UIDynamicAnimator initWithTarget设置为UIScrollView似乎已修复它。

答案 1 :(得分:1)

尝试将圈子放在UIView的{​​{1}}的子视图中,而不是滚动视图本身。我之前看到它做了一些奇怪的事情。