CAAnimation 跟踪进度

Posted

技术标签:

【中文标题】CAAnimation 跟踪进度【英文标题】:CAAnimation track progress 【发布时间】:2011-05-23 13:58:45 【问题描述】:

我最近一直在处理一些动画,令我震惊的是,CAAnimation 没有更新动画进度的委托方法。我尝试使用计时器并从正在转换(按 z 轴旋转)的视图中请求转换,但它总是返回相同的转换。

有什么方法可以获取 CAAnimation 正在更新的值?

【问题讨论】:

【参考方案1】:

如果想了解图层动画当前状态的详细信息,请查询[layer presentationLayer]。您可以访问该对象内的transform 属性。

【讨论】:

【参考方案2】:

很遗憾,没有。然而,核心动画是基于时间的,所以你总是可以独立地模仿它。此外,如果您正在寻找一些离散的精确时刻,您可以将您的动画拆分成一个链并在 animationDidStop 回调中更新您的状态。

【讨论】:

以上是关于CAAnimation 跟踪进度的主要内容,如果未能解决你的问题,请参考以下文章

从 CAAnimation 获取 UIVIew

如何在删除之前等待重复的 CAAnimation 完成一个循环

核心动画 CAAnimation 进阶

使用 CAAnimation 实现 CATransition 推送

停止 CAAnimation 以添加另一个 CAAnimation

CAAnimationGroup 中的 CAAnimation 委托