我目前正在尝试使用Lottie框架为我的应用程序添加动画效果。我的代码如下:
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .lightGray
let starAnimationView = AnimationView()
// The JSON file
let starAnimation = Animation.named("qz-checklist-eve")
starAnimationView.animation = starAnimation
starAnimationView.frame = CGRect(x: 0, y: 0, width: 400, height: 400)
starAnimationView.center = self.view.center
starAnimationView.contentMode = .scaleAspectFill
view.addSubview(starAnimationView)
starAnimationView.loopMode = .autoReverse
starAnimationView.play()
}
这段代码可以实现动画效果,但是它会一直循环播放。我无法找到如何将其设置为单次播放。我查看了Lottie文档,上面写着:
var AnimationView.loopMode:LottieLoopMode{ get set }
设置
play
调用的循环行为。 默认为playOnce
选项: playOnce:只播放一次动画,然后停止。 :loop:动画将从结尾循环到开头,直到停止。 :autoReverse:动画将前进,然后向后播放并循环,直到停止。 :repeat(amount):动画将在结束时循环播放到开始,最多重复amount次。 :repeatBackwards(amount):动画将向前播放,然后向后播放amount次。没有
.repeatBackwards(amount)
选项。 有人知道如何使其正常工作吗?