隐藏视图并应用隐藏效果 - Swift
Hide view and apply hide effect - Swift
我想在使用以下代码关闭按钮的可见性时提供 alpha 效果。然而,在下面的代码中,alpha 效果可以正常工作,但会立即变为 ,而无需等待 0.5 秒的可见性。
你有解决这个问题的替代建议吗?特别是如果你有 RxSwift、RxCoca 的解决方案,那就太好了。谢谢
self.button.alpha = 1.0
UIView.animate(withDuration: 0.5) {
self.button.alpha = 0
self.button.isHidden = true
}
动画块中的 self.button.isHidden = true
导致立即消失,因为此 属性 不可设置动画。
动画 alpha 是你应该保留的。
解决方案:
self.button.alpha = 1.0
UIView.animate(withDuration: 0.5) {
self.button.alpha = 0
}
RxSwift 解决方案:
你需要像这样使用它..你需要在动画完成时隐藏按钮而不是在动画块中,因为 isHidden 属性 不是动画所以它立即隐藏按钮
self.button.alpha = 1.0
UIView.animateKeyframes(withDuration: 0.5, delay: 0 ,animations: {
self.button.alpha = 0
}) { _ in
self.button.isHidden = true
}
这样使用
UIView.animate(withDuration: 0.5, animations: {
self.button.alpha = 0
}) { (_) in
self.button.isHidden = true
}
在视图的 alpha 更改为 0 后隐藏按钮。
您的代码中的问题是按钮隐藏在动画块中,因此动画在视图已经隐藏时发生。
我想在使用以下代码关闭按钮的可见性时提供 alpha 效果。然而,在下面的代码中,alpha 效果可以正常工作,但会立即变为 ,而无需等待 0.5 秒的可见性。
你有解决这个问题的替代建议吗?特别是如果你有 RxSwift、RxCoca 的解决方案,那就太好了。谢谢
self.button.alpha = 1.0
UIView.animate(withDuration: 0.5) {
self.button.alpha = 0
self.button.isHidden = true
}
self.button.isHidden = true
导致立即消失,因为此 属性 不可设置动画。
动画 alpha 是你应该保留的。
解决方案:
self.button.alpha = 1.0
UIView.animate(withDuration: 0.5) {
self.button.alpha = 0
}
RxSwift 解决方案:
你需要像这样使用它..你需要在动画完成时隐藏按钮而不是在动画块中,因为 isHidden 属性 不是动画所以它立即隐藏按钮
self.button.alpha = 1.0
UIView.animateKeyframes(withDuration: 0.5, delay: 0 ,animations: {
self.button.alpha = 0
}) { _ in
self.button.isHidden = true
}
这样使用
UIView.animate(withDuration: 0.5, animations: {
self.button.alpha = 0
}) { (_) in
self.button.isHidden = true
}
在视图的 alpha 更改为 0 后隐藏按钮。 您的代码中的问题是按钮隐藏在动画块中,因此动画在视图已经隐藏时发生。