Ошибка с UIView.animateKeyframes? - PullRequest
0 голосов
/ 23 октября 2018

Я использую Xcode 10 и пытаюсь сделать базовую анимацию:

UIView.animateKeyframes(withDuration: 8.0,delay: 0.0, options:[.calculationModeDiscrete],  animations: {

    UIView.addKeyframe(withRelativeStartTime: 0.00, relativeDuration: 0, animations: {
        self.alpha = 0.0
    })
    UIView.addKeyframe(withRelativeStartTime: 0.125, relativeDuration: 0, animations: {
        self.alpha = 1.0
    })
})

Как я понял UIView.addKeyframe, в этом примере моя анимация должна занять в общей сложности 8 секунд,таким образом, кадр в 0.125 должен быть в первую секунду (8 раз 0.125 = 1).Длительность каждого кадра равна 0, поэтому анимация анимируется сразу.Однако он появляется только на 2-й секунде, а не на 1-й, как ожидалось.

Это ошибка или я что-то пропустил?

РЕДАКТИРОВАТЬ: очень странный факт, я пытался добавить некоторые ключевые кадры с той же задержкой (1/8), и для них это занимает менее секунды, но более чем 2 секунды для первого ключевого кадра!Это определенно похоже на ошибку ...

UIView.addKeyframe(withRelativeStartTime: 0.25, relativeDuration: 0, animations: {
    self.alpha = 0.0
})
UIView.addKeyframe(withRelativeStartTime: 0.375, relativeDuration: 0, animations: {
    self.alpha = 1.0
})
...