2013-09-24 59 views
2

我使用的是UIDynamicAnimator的UISnapBehavior兩個狀態間的動畫這些圈子: http://cl.ly/image/1G3p1B2x2v14/Image%202013.09.24%2011%3A35%3A43%20AM.png如何在UISnapBehavior動畫期間保持UIScrollView內的相對滾動位置?

那偉大工程。不過,我然後把它放在一個UIScrollView裏面。當我滾動前UISnapBehavior動畫已經「定居」(似乎有一個延遲,它看起來後像它完成,當它實際上完成),圓圈失去其相對定位到滾動容器: http://cl.ly/image/1E0I3l460J1V/Image%202013.09.24%2011%3A32%3A10%20AM.png

當我在動畫「結算」後等待幾秒鐘後滾動,圓圈不會丟失它們的相對位置

我假設這是因爲UISnapBehavior使用固定位置動畫,然後在完成後恢復到相對定位,但我不確定這是否屬實。

回答

2

我在包含UIScrollView的UIView上設置了UIDynamicAnimator。將UIDynamicAnimator initWithTarget設置爲UIScrollView似乎修復了它。

+1

將動畫添加到滾動視圖的contentView而不是滾動視圖本身可能會更好?只是一個想法。 –

1

嘗試將您的圈子放在UIView的子視圖UIScrollView而不是滾動視圖本身。我見過它做過一些奇怪的事情。

+0

其實我找到了問題。我在包含UIScrollView的UIView上設置了UIDynamicAnimator。將UIDynamicAnimator initWithTarget設置爲UIScrollView似乎修復了它! –

+0

太棒了!不要忘記回答你的問題:) –