当 CABasicAnimation 正在制作动画时,我该如何回调?

Posted

技术标签:

【中文标题】当 CABasicAnimation 正在制作动画时,我该如何回调?【英文标题】:How can I callback as a CABasicAnimation is animating? 【发布时间】:2010-08-16 14:18:15 【问题描述】:

我有一个动画用于将可旋转的 UIView 捕捉到圆形网格。随着视图的动画,我需要根据旋转视图的位置更新另一个视图。

我怎样才能获得旋转视图的位置因为它动画到位?

【问题讨论】:

【参考方案1】:

当动画开始时,您可以启动一个函数,该函数将使用计时器轮询当前视图位置(我想您需要从视图层获取presentationLayer 并从中获取位置值)。

除了animationDidStartanimationDidStop 之外,CAAnimation 没有回调,所以这似乎是解决方案(如果我没记错的话,在一个 WWDC 视频中也提到过)。

【讨论】:

以上是关于当 CABasicAnimation 正在制作动画时,我该如何回调?的主要内容,如果未能解决你的问题,请参考以下文章

CABasicAnimation 执行不可靠

CABasicAnimation 真的很快吗?还是没有真正工作?对于圆形图

在特定点停止 CABasicAnimation

如何在动画 CABasicAnimation 时改变速度

重新启动 CABasicAnimation

如何在动画CABasicAnimation时改变速度