在不同的VC之间移动时管理UIView动画

时间:2019-02-03 15:12:19

标签: ios swift uiview uiviewcontroller uiviewanimation

作为一个初学者,我在一些基本的东西上苦苦挣扎。

因此,我在主UIViewController的一个视图上有一个动画,但是当我移到另一个UIViewController并回到主视图时,动画停止了。

好吧,我的动画在viewDidLoad()中,已经尝试从viewWillAppear()viewDidAppear()调用它,但这可能不是解决方法。
不幸的是,我不知道该在哪里回叫动画,有人遇到过这个小问题吗?

如果可以帮助,那就是我正在使用的代码:

UIView.animate(withDuration: 1.0, delay:0, options: [.repeat, .autoreverse, .allowUserInteraction], animations: {
        self.viewAnima.transform = CGAffineTransform(scaleX: 1.2, y: 1.2)
    }, completion: nil)  

1 个答案:

答案 0 :(得分:0)

ViewDidAppear不是触发动画的正确位置。代替

例如。有个代表 在第一个viewcontroller中实现委托。当关闭第二个viewController时,调用委托。并将动画块放入其中,并以0.2秒的延迟触发动画。感觉就像关闭视图并开始播放动画。

///将此代码放入委托函数中。

DispatchQueue.main.async(.now()+0.2) {
        UIView.animate(withDuration: 2.0, animations: { () -> Void in
            // Do you animation here
           })
        }