ios - 我的 iOS 应用程序如何为一系列颜色设置动画?

标签 ios animation colors

我有一个预定义的颜色序列及其持续时间(毫秒),我想在 subview 中按顺序显示(动画?)。在 Android 中,我可以将 addFrame() 与 AnimationDrawable 结合使用来创建动画对象。有没有类似的东西可以在 iOS 中为我​​做这个? (总持续时间必须是各个颜色持续时间的总和。)谢谢!

最佳答案

有多种方法可以做到这一点。一个例子:

  1. 遍历你的颜色和持续时间,假设它们在字典数组中(不是必需的)
  2. 记录到目前为止的持续时间
  3. 在每次迭代中,使用 + UIView animateWithDuration:delay:options:animations:completion: 创建一个动画,其中延迟是累积持续时间,持续时间是本次迭代和动画中的持续时间阻止:
  4. 动画 block 设置 View 的backgroundColor

此方法有局限性,因为您无法停止或暂停它。

或者,使用完成 block 来触发动画的下一步。现在您可以检查是否应该停止,并且不需要累积持续时间。

或者,使用 CAPropertyAnimation 关键路径动画。现在您可以随时取消动画中的任何一点,并且可以完全控制颜色之间的过渡速度和风格。

关于ios - 我的 iOS 应用程序如何为一系列颜色设置动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22182323/

相关文章:

ios - 无法从 iOS 应用程序打开 sqlite 数据库

ios - 如何快速保存 Json 数据并离线显示

javascript - 可观察到的 knockout 是否可以实现数字动画行为?

jquery - 制作像苹果网站上的动画

javascript - 动画化div的居中

vb.net - 需要更快的方法来根据另一种颜色替换图像中的颜色

c# - 从颜色中去除透明度

ios - swift 3.0 中的 Uibutton 问题

ios - UIButton 边框中的生涩渐变

html - 从列表项中的链接中删除格式