当视图从超级视图中删除时,所有的动画都被删除了吗?
问题描述:
- 我给view_A添加了一个无止境的重复动画。
- 动画开始。
- 我将view_A从其superview的view_B中切换出来。
- 上view_A动画停止 - 我可以告诉大家,在我
animationDidStop:finished:
委托方法 - 我可以看到[view_A.layer animationForKey:theAnimationKey]
是nil
,view_A.layer.animationKeys
是nil
和view_A.layer.animations
(打印view_A.layer在GDB可以揭示)是空的。 (问题1:从其超级视图中删除视图时是否会自动删除所有动画?) - 我将view_A交换回来。这里出现了奇怪的事情:我看到动画仍在继续。 (问题2:怎么可以在动画继续下去,它被停止,并从视图中删除后)
- 的更离奇的是,我可以步后5停止动画调用
[view_A.layer removeAnimationForKey:theAnimationKey]
!
在步骤4中,boolean是否完成YES或NO? – 2014-08-25 21:27:22
@FaisalMemon NO。我想这是因为当视图从窗口中移除时,动画会中断。但是当视图添加回窗口时,它仍在继续。很奇怪。 – an0 2014-08-25 21:44:27
什么是removedOnCompletion属性值,并且您获得了多个animationDidStart调用? – 2014-08-25 21:51:34