【发布时间】:2012-04-27 21:11:56
【问题描述】:
- 我向 view_A 添加了一个无限重复的动画。
- 动画开始。
- 我将 view_A 从其父视图中换成了 view_B。
- view_A 上的动画停止了——我可以在我的
animationDidStop:finished:委托方法中看出这一点——我可以看到[view_A.layer animationForKey:theAnimationKey]是nil,view_A.layer.animationKeys是nil和view_A.layer.animations(print view_A.layer in GDB 可以显示)是空的。 (问题 1:当视图从其父视图中移除时,是否所有动画都会自动移除?) - 我换回 view_A。奇怪的事情来了:我看到动画还在继续。 (问题 2:动画停止并从视图中移除后如何继续播放?)
- 更奇怪的是,我可以在第 5 步之后通过调用
[view_A.layer removeAnimationForKey:theAnimationKey]! 来停止动画!
【问题讨论】:
-
在第 4 步中,布尔值是 YES 还是 NO?
-
@FaisalMemon NO.我猜这是因为从窗口中删除视图时动画被中断。但是当视图被添加回窗口时它仍在继续。很奇怪。
-
什么是removedOnCompletion属性值,你有没有收到多个animationDidStart调用?
-
@FaisalMemon 是的。没有。
-
@FaisalMemon 我相信这是核心动画错误。请参阅下面的答案。
标签: ios core-animation