繁体   English   中英

Xcode Swift 按钮隐藏

[英]Xcode Swift button hidden

我在 VC 中有两个按钮。 按钮 1 和按钮 2。

我还有一个字符串变量“buttonToHide”。 通过一些逻辑,我找到了要隐藏的按钮,因此 buttonToHide = "Button2"

现在我想使用字符串 var buttonToHide 隐藏实际的 Button2。 我怎么做?

Button2.hidden = true 很棒,但我需要使用字符串来实现该功能。

非常感谢 !!

 @IBOutlet var Button1: UIButton!
    @IBOutlet var Button2: UIButton!
    @IBOutlet var Button3: UIButton!
    @IBOutlet var Button4: UIButton!

var ArrayHere = ["1","2","3","4"]

        var noEmptyStrings = ArrayHere.filter({$0 != "\(self.CorrectAnswer)"})

        let randomIndex = Int(arc4random_uniform(UInt32(noEmptyStrings.count)))

        var noEmptyStrings1 = noEmptyStrings.filter({$0 != "\(noEmptyStrings[randomIndex])"})


        var firstValue = "Button" + noEmptyStrings1.first!
        var lastvalue = noEmptyStrings1.last

        println("\(firstValue)")
        println("\(lastvalue)")

        firstValue.hidden = true  //THIS IS NOT WORKING

您应该将按钮存储在一个按钮数组中。 例如:

var myButtons = [UIButton]()

所以你可以过滤按钮的属性(以获得正确的按钮,或使用数组的键)

例如:

myButtons[1].hidden = true

您可以考虑使用tag ,而不是维护数组和处理出口集合,这是一种公认​​有点古怪但仍然有趣的简单机制。

在 Interface Builder 中为您的按钮提供这些标签,例如 1 到 4。它们将允许您轻松访问这些按钮。

那么你不需要一个字符串来存储要隐藏的按钮,只需要一个Int 以下将隐藏要隐藏的按钮并取消隐藏所有其他按钮。

for i in 1...4 {
   let button = view.viewWithTag(i) as! UIButton
   button.hidden = i == toHide
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM