使用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弹跳(进一步移动,并弹回到目标范围)。

混乱

UIDynamicAnimatorUIDynamicBehaviorUIAttachmentBehaviorUIDynamicItem …..所有这些都使我对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];