ios - 结合许多 UIViewPropertyAnimator
<p><p>我弄乱了 <a href="https://developer.apple.com/documentation/uikit/uiviewpropertyanimator" rel="noreferrer noopener nofollow">UIViewPropertyAnimator</a> 的文档我希望找到一种方法来组合两个 UIViewPropertyAnimator。</p>
<p>类似这样的:</p>
<pre><code>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()
</code></pre>
<p>我缺少 UIViewPropertyAnimatorGroup 或类似的东西,这甚至存在吗?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>目前推荐的方法是使用 <code>UIViewPropertyAnimator</code> 的数组。</p>
<p>此方法在 WWDC 2017 演示文稿中详细介绍,标题为“使用 UIKit 的高级动画”。 <a href="https://developer.apple.com/videos/play/wwdc2017/230/" rel="noreferrer noopener nofollow">https://developer.apple.com/videos/play/wwdc2017/230/</a> </p>
<p>最重要的一点是将所有动画师保持在一起,每当发生基于手势的事件时,您都可以一次将更新应用到所有动画师。</p>
<pre><code>var runningAnimators = ()
// later in the code...
runningAnimators.forEach { $0.pauseAnimation() } // pause all animations
</code></pre>
<p>我在 GitHub 上有一个开源代码库,其中给出了以这种方式使用多个属性动画器的示例:<a href="https://github.com/nathangitter/interactive-animations" rel="noreferrer noopener nofollow">https://github.com/nathangitter/interactive-animations</a> </p>
<hr/>
<p>对于您的具体问题,为什么需要多个属性动画师?通常,当您想要具有多个时序曲线的单个动画时,您只需要多个动画师,但看起来您的时序参数是相同的。</p></p>
<p style="font-size: 20px;">关于ios - 结合许多 UIViewPropertyAnimator,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/47208223/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/47208223/
</a>
</p>
页:
[1]