【发布时间】:2018-08-31 06:27:41
【问题描述】:
我正在尝试让我的动画再次将屏幕从黑色变为白色再变为黑色,并重复一定次数。目前使用代码,我的动画从黑色缓到白色,然后跳回黑色。反正有没有反向运行动画或添加在第一个动画完成后运行的动画?
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 因为最后一次迭代工作正常。如何在不重复计数的情况下多次运行动画?
【问题讨论】:
标签: ios swift animation uiviewpropertyanimator