Xcode Swift 按钮已隐藏

Xcode Swift button hidden

我在 VC 中有两个按钮。 Button1 和 Button2。

我还有一个字符串变量"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({[=12=] != "\(self.CorrectAnswer)"})

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

        var noEmptyStrings1 = noEmptyStrings.filter({[=12=] != "\(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

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

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

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

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