结合许多UIViewPropertyAnimators

时间:2017-11-09 17:36:28

标签: ios animation uiviewpropertyanimator

我正在弄乱UIViewPropertyAnimator的文档,我希望找到一种方法来组合两个UIViewPropertyAnimator。

这样的事情:

let firstAnimator = UIViewPropertyAnimator(duration: 2, 
                                           dampingRatio: 0.4, 
                                           animations: animation1)
let secondAnimator = UIViewPropertyAnimator(duration: 2, 
                                            dampingRatio: 0.4,
                                            animations: animation2)

firstAnimator.addAnimator(secondAnimator, withDelay: 1)
firstAnimator.startAnimation()

我错过了一个UIViewPropertyAnimatorGroup或类似的东西,这甚至存在吗?

1 个答案:

答案 0 :(得分:2)

目前推荐的方法是使用[B,C)

的数组。

在WWDC 2017演示文稿中详细介绍了这种方法,该演示文稿标题为" UIKit的高级动画"。 https://developer.apple.com/videos/play/wwdc2017/230/

基本要点是将所有动画师保持在一起,每当发生基于手势的事件时,您可以立即对所有动画师应用更新。

UIViewPropertyAnimator

我在GitHub上有一个开源代码库,它提供了一个以这种方式使用多个属性动画师的示例:https://github.com/nathangitter/interactive-animations

针对您的具体问题,您为什么需要多个属性动画师?通常,当您需要具有多个时序曲线的单个动画时,您只需要多个动画师,但看起来您的时序参数相同。