0.5秒後に公開したいUIViewがあり、0.5秒後に再度非表示にして簡単なアニメーションを作成します。私のコードは次の通りです:UIViewPropertyAnimatorでUIViewのアルファベットをアニメーション化
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