Я пытаюсь анимировать метку, чтобы изменить ее текст с разными словами на разных ключевых кадрах, но она просто переходит на последний ключевой кадр («Спокойной ночи») без отображения предыдущих.Он распечатывает их, так что я думаю, что-то не так с продолжительностью или startTime, но я не могу понять, что это может быть ..
func changeText() {
let options = UIView.KeyframeAnimationOptions.calculationModeLinear
UIView.animateKeyframes(withDuration: 10, delay: 0, options: options, animations: {
UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0.25, animations: {
self.label.text = "Good Morning"
print("Morning")
})
UIView.addKeyframe(withRelativeStartTime: 0.25, relativeDuration: 0.25, animations: {
self.label.text = "Good Afternoon"
print("Afternoon")
})
UIView.addKeyframe(withRelativeStartTime: 0.5, relativeDuration: 0.25, animations: {
self.label.text = "Good Evening"
print("Evening")
})
UIView.addKeyframe(withRelativeStartTime: 0.75, relativeDuration: 0.25, animations: {
self.label.text = "Good Night"
print("Night")
})
}, completion: nil)
}
@IBAction func didPressBtn(_ sender: Any) {
changeText()
}