【发布时间】:2017-03-23 09:03:37
【问题描述】:
我有一个 UIView,我想在 0.5 秒后显示,并在 0.5 秒后再次隐藏,创建一个简单的动画。我的代码如下:
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到属性动画器。 developer.apple.com/reference/uikit/uiviewpropertyanimator/…