1
タイトルは多少あいまいなので、私はすぐにその点に着きます。私のXcodeプロジェクトでは、最初のViewControllerで単純なアニメーションを実装しましたが、最初のViewを終了して別のシーンに移動してから最初のビューに戻ると、アニメーションが再開できず、理由を理解できない。Xcodeスウィフト - ビューに戻るとアニメーションを続ける
ここであなたがviewDidDisappear
で元のセンターに雲の位置をリセットする必要があり、私の最初のビュー
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
//cloud animation
let oldCenter = cloud.center
let newCenter = CGPoint(x: oldCenter.x - 800, y: oldCenter.y)
UIView.animate(withDuration: 30.0, delay: 0.0, options:
[.curveLinear, .repeat], animations: {
self.cloud.center = newCenter
}, completion: nil)
//second cloud animation
let oldCenter2 = cloud2.center
let newCenter2 = CGPoint(x: oldCenter2.x + 800, y: oldCenter2.y)
UIView.animate(withDuration: 15.0, delay: 0.0, options:
[.curveLinear, .repeat], animations: {
self.cloud2.center = newCenter2
}, completion: nil)
}
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
}