我有一個UIView,我想在0.5秒後顯示,並在0.5秒後再次隱藏,創建一個簡單的動畫。我的代碼如下:使用UIViewPropertyAnimator依次動畫UIView的alpha
let animation = UIViewPropertyAnimator.init(duration: 0.5, curve: .linear) {
self.timerBackground.alpha = 1
let transition = UIViewPropertyAnimator.init(duration: 0.5, curve: .linear) {
self.timerBackground.alpha = 0
}
transition.startAnimation(afterDelay: 0.5)
}
animation.startAnimation()
當我測試它時,沒有任何反應。我認爲這是因爲他們都在同一時間運行,這意味着他們相互抵消,但不是說,「afterDelay」部分應該防止什麼?
如果我分別運行它們,即從隱藏到可見或從隱藏可見,它可以工作,但是當我嘗試按順序運行它們時,它不起作用。
我的UIView不是不透明或隱藏的。
「但不是說」afterDelay「部分應該防止什麼?」不可以。如果您想在動畫之後執行某些操作,請將_completion handler_添加到屬性動畫器中。 https://developer.apple.com/reference/uikit/uiviewpropertyanimator/1648373-addcompletion – matt