当视图从超级视图中删除时,所有的动画都被删除了吗?

问题描述:

  1. 我给view_A添加了一个无止境的重复动画。
  2. 动画开始。
  3. 我将view_A从其superview的view_B中切换出来。
  4. 上view_A动画停止 - 我可以告诉大家,在我animationDidStop:finished:委托方法 - 我可以看到[view_A.layer animationForKey:theAnimationKey]nilview_A.layer.animationKeysnilview_A.layer.animations(打印view_A.layer在GDB可以揭示)是空的。 (问题1:从其超级视图中删除视图时是否会自动删除所有动画?)
  5. 我将view_A交换回来。这里出现了奇怪的事情:我看到动画仍在继续。 (问题2:怎么可以在动画继续下去,它被停止,并从视图中删除后)
  6. 的更离奇的是,我可以后5停止动画调用[view_A.layer removeAnimationForKey:theAnimationKey]
+0

在步骤4中,boolean是否完成YES或NO? – 2014-08-25 21:27:22

+0

@FaisalMemon NO。我想这是因为当视图从窗口中移除时,动画会中断。但是当视图添加回窗口时,它仍在继续。很奇怪。 – an0 2014-08-25 21:44:27

+0

什么是removedOnCompletion属性值,并且您获得了多个animationDidStart调用? – 2014-08-25 21:51:34

我相信这是一个核心动画的错误。这是我的雷达:http://openradar.appspot.com/radar?id=6165852231565312