Ios 使用UIDynamicMator水平设置UIView动画

Ios 使用UIDynamicMator水平设置UIView动画,ios,uiview,uikit-dynamics,uidynamicanimator,Ios,Uiview,Uikit Dynamics,Uidynamicanimator,我已经看了文件,不好意思说我很困惑 场景: 我有一个ui视图,它就像3个ui按钮的容器。该容器最初的边界为{0,0,35,35},每个按钮内部具有相同的坐标(带有alpha0)。在用户执行特定操作时,容器将边界更改为{0,0,100,35},并且按钮分别使用alpha1设置为x原点5,35和65的动画,以便它们在调整大小的容器内展开。我将其称为容器的展开状态。用户执行相同的操作后,将其切换回原始约定状态 目标: 我目前正在使用[UIView animateWithDuration:][/code

我已经看了文件,不好意思说我很困惑

场景

我有一个
ui视图
,它就像3个
ui按钮的容器。该容器最初的边界为
{0,0,35,35}
,每个按钮内部具有相同的坐标(带有
alpha
0)。在用户执行特定操作时,容器将边界更改为
{0,0,100,35}
,并且按钮分别使用
alpha
1设置为x原点5,35和65的动画,以便它们在调整大小的容器内展开。我将其称为容器的展开状态。用户执行相同的操作后,将其切换回原始约定状态

目标

我目前正在使用
[UIView animateWithDuration:][/code>块来执行此操作,但我想使用
UIDynamicAnimator
来添加反弹效果,这样,当切换到展开状态时,容器会随着反弹而调整大小(调整一点额外的大小,并反弹到目标边界),按钮也会反弹(再向前移动一点,然后反弹到目标边界)

困惑


UIDynamicAnimator
UIDynamicBehavior
UIAttachmentBehavior
UIDynamicItem
…所有这些都导致我对
UIKitDynamic
的理解溢出。我认为我应该使用
UISnapBehavior
,但我不知道该怎么做。

事实证明,你的理解是错误的使用
UIDynamicAnimator
,不需要所有其他动态动画。我只需要
animateWithDuration:delay:usingSpringWithDamping:initialSpringVelocity:options:animations:completion:
类方法。只需使用它来代替任何简单的
animateWithDuration:
方法,它就可以产生r我打算实现的目标

示例代码:

    [UIView animateWithDuration:0.4
                          delay:0
         usingSpringWithDamping:0.5
          initialSpringVelocity:0.5
                        options:0
                     animations:^{

                         //Animation code

                     } completion:nil];