我试图让我的动画再次将屏幕从黑色变为白色,然后重复一定次数。目前使用代码,我的动画从黑色缓到白色,然后跳回黑色。无论如何要反向运行动画或添加在第一个动画完成后运行的动画?
override func viewDidAppear(_ animated: Bool) {
let viewColorAnimator: UIViewPropertyAnimator = UIViewPropertyAnimator.runningPropertyAnimator(
withDuration: 4.0,
delay: 0.0,
options: [.curveEaseInOut],
animations: {
UIView.setAnimationRepeatCount(3);
self.lightView.backgroundColor = .white
})
viewColorAnimator.startAnimation()
}
我尝试将此代码块添加到项目中,但结果是相同的:
viewColorAnimator.addCompletion {_ in
let secondAnimator = UIViewPropertyAnimator(duration: 4.0, curve: .linear) {
self.lightView.backgroundColor = .black
}
secondAnimator.startAnimation()
}
编辑:我发现这是因为 setAnimationRepeatCount 因为最后一次迭代工作正常。如何在没有重复计数的情况下多次运行动画?