我已经阅读了文档,但我很不好意思地说我很困惑。
场景:
我有一个UIView
,就像一个容纳 3 的容器UIButtons
。该容器最初是有界限的{0, 0, 35, 35}
,里面的每个按钮都有相同的坐标(alpha
0)。在用户执行特定操作时,容器的边界更改为{0, 0, 100, 35}
,按钮分别动画到 x 原点 5、35 和 65,其中alpha
1,使得它们在调整大小的容器内展开。我将其称为展开状态容器的。用户执行相同的操作,将其切换回原始状态契约国.
The Goal:
我目前正在使用[UIView animateWithDuration:]
块,但想使用UIDynamicAnimator
添加弹跳效果,这样,当切换到展开状态时,容器会弹跳调整大小(稍微调整大小,然后弹回目标边界),并且按钮也会弹跳(进一步移动一点,然后弹回)到他们的目标范围)。
混乱:
UIDynamicAnimator
, UIDynamicBehavior
, UIAttachmentBehavior
, UIDynamicItem
......这一切都引起了我的理解UIKitDynamic
溢出。我想我应该使用UISnapBehavior
,但我不知道该怎么做。
事实证明,使用UIDynamicAnimator
,以及所有其他dynamic不需要动画。我所需要的只是animateWithDuration:delay:usingSpringWithDamping: initialSpringVelocity: options: animations: completion:
类方法。只需使用它代替任何简单的animateWithDuration:
方法,它产生了我想要实现的确切行为。
示例代码:
[UIView animateWithDuration:0.4
delay:0
usingSpringWithDamping:0.5
initialSpringVelocity:0.5
options:0
animations:^{
//Animation code
} completion:nil];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)