切换UILabel的隐藏状态

时间:2015-05-04 17:52:15

标签: ios swift

我想使用按下按钮来切换几个UILabel的隐藏状态。按一下按钮,取消隐藏它们,再次按下标签隐藏,隐藏这些标签的默认状态。

这是我认为可行的(但显然没有):

@IBAction func information(sender: AnyObject, forEvent event: UIEvent)
{
    if(infoLocation.hidden = true)
    {
        self.infoLocation.hidden = false
    }
    else
    {
        self.infoLocation.hidden = true
    }

    //**********************************//
    if(infoName.hidden = true)
    {
        self.infoName.hidden = false
    }
    else
    {
        self.infoName.hidden = true
    }

    //**********************************//
    if(infoVersion.hidden = true)
    {
        self.infoVersion.hidden = false
    }
    else
    {
        self.infoVersion.hidden = true
    }


}

4 个答案:

答案 0 :(得分:12)

为了使代码更短(并且看起来更好),如果只是一个切换,我会这样做:

for label in [label1, label2, label3, label4] {
    label.hidden = !label.hidden
}

这将切换label1-4.hidden

答案 1 :(得分:6)

==声明中使用if,而不是=

if(infoVersion.hidden == true)

=用于转让 ==是为了平等。

更新
您可以使用更快的版本代码来隐藏状态:

infoVersion.hidden = !infoVersion.hidden;

答案 2 :(得分:5)

SWIFT 3.x,4.x

for label in [label1, label2, label3, label4] {
    label.isHidden = !label.isHidden
}

答案 3 :(得分:0)

Swift 4.x

label.isHidden = true // or false