我的 UIView 中有一个无限动画(旋转图像,类型:CABasicAnimation
)
animation.repeatCount = HUGE_VALF;
当我推送一个新的 ViewController 并返回到包含 View 的动画的初始 ViewController 时,旋转停止了。
即使我在调用 ViewController 的 viewWillAppear
方法时再次设置动画,它也不会再次旋转。
我做错了什么?
最佳答案
其实有一个简单的方法可以解决这个问题
将你的动画设置为:
Swift 3 版本
animation.removedOnCompletion = false
Swift 4 版本
animation.isRemovedOnCompletion = false
当 NavigationController 被推送到另一个 ViewController 的 View 时,图层本身不会被破坏,因为 UINavigationController 获得了 viewControllers
属性,该属性将保留原始 viewController,因此它的 View 和动画层。
当 View 从界面中移除时,这个 CABasicAnimation 对象被销毁,即使您将其 repeatCount 设置为无限。因此,将 isRemovedOnCompletion
设置为 false 以保留它。
关于ios - 无限 CABasicAnimation 停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13501133/