重新启动UIView重复动画

时间:2018-06-27 23:31:40

标签: ios uiview core-animation

我已经在iOS中设置了重复动画:

private Camera cam1;

// Use this for initialization
void Start()
{
    GameObject obj = GameObject.Find("Main Camera");
    cam1 = obj.GetComponent<Camera>();
}

事实证明,当我提出一个视图控制器并随后将其关闭时,动画似乎已冻结。

我对此进行了研究,发现当应用程序进入后台时,动画会停止。但是,这是显示在顶部的视图控制器。这里是否会一样?

我发现解决方案是在应用退出背景之前停止动画,如Apple在本文上所述:https://developer.apple.com/library/archive/qa/qa1673/_index.html

我已经尝试过该解决方案,但这对我没有用。显示视图控制器后,将调用动画的完成块。

如何解决这种动画冻结情况?

1 个答案:

答案 0 :(得分:1)

要在显示另一个视图后重新启动动画,请将其放入viewWillAppear

如果动画在一段时间或有条件后开始播放,只需添加一个animationHasStarted之类的Bool,然后在viewWillAppear中进行检查,看看是否应该运行动画