🤖
Swift Animation Memo
終了を検知して終了時に処理を行う
import UIKit
import Lottie
class ViewController: UIViewController {
let animationView = AnimationView()
override func viewDidLoad() {
super.viewDidLoad()
// Lottieアニメーションをロードして表示
animationView.animation = Animation.named("your_animation_file") // アニメーションファイル名(拡張子なし)
animationView.frame = CGRect(x: 0, y: 0, width: 200, height: 200) // アニメーションビューのサイズ
animationView.center = view.center
animationView.contentMode = .scaleAspectFill
view.addSubview(animationView)
// アニメーション再生終了時の処理を設定
animationView.loopMode = .playOnce // 1回再生して停止
animationView.play { [weak self] (_) in
// アニメーション再生が終了したときの処理
self?.handleAnimationCompletion()
}
// 最初のアニメーションを開始
animationView.play()
}
func handleAnimationCompletion() {
// アニメーション終了時の処理を記述
print("Animation Completed")
// 再度アニメーションをスタートさせる
animationView.play { [weak self] (_) in
// アニメーション再生が終了したときの処理(必要に応じて再度コールバックを追加)
self?.handleAnimationCompletion()
}
}
}
Discussion