我已经看过这些文件了,我很不好意思地说我很困惑。
场景
我有一个UIView,它的作用就像一个用于3 UIButtons的容器。这个容器最初是边界{0, 0, 35, 35},每个按钮都有相同的协调(与alpha 0)。在用户的特定操作中,容器将边界更改为{0, 0, 100, 35},并将按钮分别动画为x源5、35和65,并使用alpha 1,使它们分布在调整大小的容器中。我将此称为容器的扩展状态。用户的相同操作,将其切换回原来的收缩状态。
目标
我目前正在使用[UIView animateWithDuration:]块来完成这个任务,但是我希望使用UIDynamicAnimator来添加一个弹跳效果,这样,当切换到扩展状态时,容器会调整大小,进行反弹(调整大小,然后返回到目标边界),并且按钮也会弹出(移动一点,然后反弹到目标边界)。
混乱
UIDynamicAnimator,UIDynamicBehavior,UIAttachmentBehavior,UIDynamicItem.....all --这些都导致我对UIKitDynamic的理解溢出。我想我应该使用UISnapBehavior,但是我不知道该怎么做。
发布于 2014-05-29 06:01:32
事实证明,不需要使用UIDynamicAnimator和所有其他动态动画。我所需要的只是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];https://stackoverflow.com/questions/23125373
复制相似问题