使用UIDynamicAnimator水平animationUIView
我已经通过了文档,我很尴尬地说我很困惑。
场景 :
我有一个UIView
,就像一个容器3 UIButtons
。 这个容器最初是边界{0, 0, 35, 35}
,每个button里面都有相同的坐标(用alpha
0)。 在用户的特定操作中,容器将边界改变为{0, 0, 100, 35}
,并且button被dynamic地分配给x-原点5,35和65,其中alpha
被分散在resize的容器内。 我把这称为容器的扩展状态 。 用户执行相同的操作,将其切换回原始合同状态 。
目标 :
我目前正在使用[UIView animateWithDuration:]
块来做这个,但是想使用UIDynamicAnimator
来添加一个弹性效果,例如当切换到展开状态时,容器resize并弹跳(resize并反弹回到目标范围),button弹跳(进一步移动,并弹回到目标范围)。
混乱 :
UIDynamicAnimator
, UIDynamicBehavior
, UIAttachmentBehavior
, UIDynamicItem
…..所有这些都使我对UIKitDynamic
理解溢出了。 我想我应该使用UISnapBehavior
,但我不知道如何去做。
事实certificate,使用UIDynamicAnimator
和所有其他dynamicanimation是不需要的。 我所需要的是animateWithDuration:delay:usingSpringWithDamping: initialSpringVelocity: options: animations: completion:
class method。 只要使用它来代替任何简单的animateWithDuration:
方法,它就会产生我打算实现的确切行为。
示例代码:
[UIView animateWithDuration:0.4 delay:0 usingSpringWithDamping:0.5 initialSpringVelocity:0.5 options:0 animations:^{ //Animation code } completion:nil];