Я пытаюсь понять, как использовать UIView.animateKeyframes
, но я не могу на всю жизнь понять, как рассчитать время / продолжительность.
Я пытаюсь добиться следующего: я ожидаю всего этогоанимация продолжительностью 10 секунд, состоящая из ...
первый addKeyframe запускается за 01 секунду и занимает 1 секунду
второй addKeyframe запускается за 02 секунды и занимает 1 секунду
третий addKeyframe запускается в 05 секунд и занимает 2 секунды
четвертый addKeyframe запускается в 07 секунд и занимает 1 секунду
четвертый addKeyframe запускается в 09 секунд и занимает 1 секунду
fileprivate func animateWelcomeText() -> Void {
let duration: TimeInterval = 10
UIView.animateKeyframes(withDuration: duration, delay: 0, options: .calculationModeLinear, animations: {
UIView.addKeyframe(withRelativeStartTime: 1.0, relativeDuration: 1.0, animations: {
self.introTextLabel.alpha = 1
})
UIView.addKeyframe(withRelativeStartTime: 2.0, relativeDuration: 1.0, animations: {
self.introTextLabelTwo.alpha = 1
})
UIView.addKeyframe(withRelativeStartTime: 5.0, relativeDuration: 2.0, animations: {
self.introTextLabel.alpha = 0
self.introTextLabelTwo.alpha = 0
})
UIView.addKeyframe(withRelativeStartTime: 7.0, relativeDuration: 1.0, animations: {
self.introTextLabelThree.alpha = 1
})
UIView.addKeyframe(withRelativeStartTime: 9.0, relativeDuration: 1.0, animations: {
self.introTextLabelFour.alpha = 1
})
}) { (_) in
print("Complete")
}
}
Ничего не происходит, и анимация завершается, и внезапно появляются последние 2 элемента.