我在UIStackView中嵌入了两个UILabel.顶部标签始终可见,但底部标签通过hidden属性打开和关闭.我想要将此效果设置为动画,因此我将其粘贴在动画块中:
private func toggleResultLabel(value:Double) {
if value == 0 {
UIView.animateWithDuration(0.25) { () -> Void in
self.resultLabel.hidden = true
}
} else {
UIView.animateWithDuration(0.25) { () -> Void in
// Something weird is happening. I had to add 3 of the same statements to get
// the hidden flag to be false
self.resultLabel.hidden = false
self.resultLabel.hidden = false
self.resultLabel.hidden = false
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题是隐藏属性不会改变,除非我反复重复该语句(在这种情况下为3次).我在进入动画关闭时发现了这一点,并发现该属性不会改变它的赋值.现在我注意到看似随机发生的同样问题.true如果相关,则第二个标签的默认值为.
我在这里缺少什么,或者这是一个错误?
更新:为了它的价值,我通过添加removeArrangedSubview()以及addArrangedSubview():
if value == 0 …Run Code Online (Sandbox Code Playgroud)