pin*_*nki 18 calayer uiview cabasicanimation ios
我CABasicAnimation在UIView中有一个无限的动画(旋转图像,输入:)
animation.repeatCount = HUGE_VALF;
Run Code Online (Sandbox Code Playgroud)
当我按下一个新的ViewController并返回到包含View里面的动画的初始ViewController时,旋转停止了.
即使我viewWillAppear在调用ViewController的方法时再次设置动画,它也不会再次旋转.
我究竟做错了什么?
dis*_*ute 63
实际上,有一种简单的方法来解决此
设置动画:
Swift 3版
animation.removedOnCompletion = false
Run Code Online (Sandbox Code Playgroud)
Swift 4版
animation.isRemovedOnCompletion = false
Run Code Online (Sandbox Code Playgroud)
当NavigationController被推送到另一个ViewController的视图时,层本身不会被破坏,因为UINavigationController获得的viewControllers属性将保留原始的viewController,从而保留其视图和动画层.
即使将repeatCount设置为无限,当从界面中删除视图时,也会破坏此CABasicAnimation对象.所以设置isRemovedOnCompletion为false以保持它.
当一个层从屏幕上移除时,它会失去它的动画。一旦图层再次出现在屏幕上,您需要将它们添加回来。
viewWillAppear:太早了,因为到那时该图层实际上不在屏幕上。尝试添加动画viewDidAppear:.
| 归档时间: |
|
| 查看次数: |
5024 次 |
| 最近记录: |