小编Ale*_*lex的帖子

隐藏属性无法在动画块中更改

我在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)

uiviewanimation ios swift

18
推荐指数
4
解决办法
1763
查看次数

标签 统计

ios ×1

swift ×1

uiviewanimation ×1