我在我的UIView中有一个无限的动画(旋转图像,输入:CABasicAnimation)。
animation.repeatCount = HUGE_VALF;当我推入一个新的ViewController并返回到包含View inside动画的初始ViewController时,旋转停止。
即使我在调用视图控制器的viewWillAppear方法时再次设置动画,它也不会再次旋转。
我做错了什么?
发布于 2016-01-18 22:06:54
实际上,有一个简单的方法可以解决这个问题。
将动画设置为:
Swift 3版本
animation.removedOnCompletion = falseSwift 4版本
animation.isRemovedOnCompletion = false当NavigationController被推到另一个视图控制器的视图时,层本身并没有被破坏,因为UINavigationController获得了viewControllers属性,它将保留原始的viewController,因此它的视图和您的动画层。
当视图从接口中删除时,即使您将CABasicAnimation对象的repeatCount设置为infinite,它也会销毁。因此,将isRemovedOnCompletion设置为false以保留它。
发布于 2012-11-22 04:05:26
当从屏幕上删除一个层时,它将丢失其动画。一旦图层再次出现在屏幕上,您需要重新添加它们。
viewWillAppear:太早了,因为那时图层还没有出现在屏幕上。尝试在viewDidAppear:中添加动画。
https://stackoverflow.com/questions/13501133
复制相似问题