Я пытаюсь использовать цепочку анимации постепенного исчезновения, чтобы объекты исчезали по порядку. Сначала я делаю так, чтобы вид исчезал, затем остальные метки должны последовать их примеру. Ярлыки находятся в виде стека с альфа-каналом 1.0
. Я убедился, что все остальные альфа-значения начинаются с нуля. Вот моя функция:
func fadeIn() {
UIView.animate(withDuration: 0.5, delay: 0.0, options: UIView.AnimationOptions.curveEaseIn, animations: {
self.view.alpha = 1.0
}, completion: { finished in
if finished {
UIView.animate(withDuration: 0.5, delay: 0.0, options: UIView.AnimationOptions.curveEaseIn, animations: {
self.gameOverLabel.alpha = 1.0
}, completion: { finished in
if finished {
UIView.animate(withDuration: 0.5, delay: 0.0, options: UIView.AnimationOptions.curveEaseIn, animations: {
self.scoreLabel.alpha = 1.0
}, completion: { finished in
if finished {
UIView.animate(withDuration: 0.5, delay: 0.0, options: UIView.AnimationOptions.curveEaseIn, animations: {
self.highScoreLabel.alpha = 1.0
}, completion: { finished in
if finished {
UIView.animate(withDuration: 0.5, delay: 0.0, options: UIView.AnimationOptions.curveEaseIn, animations: {
self.restartButton.alpha = 1.0
}, completion: nil)
//breakpoint set here
}
})
}
})
}
})
}
})
}
Я установил точку останова после того, как все анимации были завершены (как показано выше) и все альфа-значения были 1.0
. Однако устройство просто дает мне пустой белый экран. Что происходит?
P.S. Функция вызывается сразу после представления этого контроллера представления:
view.present(vc, animated: false, completion: {
vc.fadeIn()
})
viewDidAppear
представленного представления. Я думаю, что операции анимации могут быть недействительными до тех пор, пока они не будут вызваны, иcompletion
в функцииpresent
может произойти до этого. - person jake   schedule 14.06.2019viewDidAppear
, но он по-прежнему показывал тот же белый экран. По какой-то причине только альфа представления получает анимацию до 1. - person Xcoder   schedule 14.06.20191.0
, так что вы говорите, что все после первой анимации не вызывается? - person jake   schedule 14.06.20191.0
. Я не уверен, что делать в этот момент. - person Xcoder   schedule 14.06.2019alpha
и не устанавливаетеisHidden
(также вы можете рассмотреть возможность использования ключевых кадров вместо этого адского обратного вызова). - person jake   schedule 14.06.2019