作为一个初学者,我在一些基本的东西上苦苦挣扎。
因此,我在主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)
答案 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
})
}