首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无限CABasicAnimation停止

无限CABasicAnimation停止
EN

Stack Overflow用户
提问于 2012-11-22 04:01:03
回答 2查看 6.1K关注 0票数 19

我在我的UIView中有一个无限的动画(旋转图像,输入:CABasicAnimation)。

代码语言:javascript
复制
animation.repeatCount = HUGE_VALF;

当我推入一个新的ViewController并返回到包含View inside动画的初始ViewController时,旋转停止。

即使我在调用视图控制器的viewWillAppear方法时再次设置动画,它也不会再次旋转。

我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-18 22:06:54

实际上,有一个简单的方法可以解决这个问题。

将动画设置为:

Swift 3版本

代码语言:javascript
复制
animation.removedOnCompletion = false

Swift 4版本

代码语言:javascript
复制
animation.isRemovedOnCompletion = false

当NavigationController被推到另一个视图控制器的视图时,层本身并没有被破坏,因为UINavigationController获得了viewControllers属性,它将保留原始的viewController,因此它的视图和您的动画层。

当视图从接口中删除时,即使您将CABasicAnimation对象的repeatCount设置为infinite,它也会销毁。因此,将isRemovedOnCompletion设置为false以保留它。

票数 73
EN

Stack Overflow用户

发布于 2012-11-22 04:05:26

当从屏幕上删除一个层时,它将丢失其动画。一旦图层再次出现在屏幕上,您需要重新添加它们。

viewWillAppear:太早了,因为那时图层还没有出现在屏幕上。尝试在viewDidAppear:中添加动画。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13501133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档