简体   繁体   English

Xcode Swift 按钮隐藏

[英]Xcode Swift button hidden

I have two buttons in VC.我在 VC 中有两个按钮。 Button1 and Button2.按钮 1 和按钮 2。

I also have one string variable "buttonToHide".我还有一个字符串变量“buttonToHide”。 With some logic, I am finding the button to hide and hence buttonToHide = "Button2"通过一些逻辑,我找到了要隐藏的按钮,因此 buttonToHide = "Button2"

Now I want to hide that actual Button2 using the string var buttonToHide.现在我想使用字符串 var buttonToHide 隐藏实际的 Button2。 How do I do that?我怎么做?

Button2.hidden = true is great but I need to use string to do that functionality. Button2.hidden = true 很棒,但我需要使用字符串来实现该功能。

Thanks very much !!非常感谢 !!

 @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

You should store your buttons in an Array of Buttons.您应该将按钮存储在一个按钮数组中。 For example:例如:

var myButtons = [UIButton]()

So you are able to filter Buttons for properties (to get the correct button, or use the key of array)所以你可以过滤按钮的属性(以获得正确的按钮,或使用数组的键)

For example:例如:

myButtons[1].hidden = true

Rather than maintaining arrays and dealing with outlet collections, you might consider using tag s, an admittedly somewhat quaint but nevertheless intriguingly simple mechanism.您可以考虑使用tag ,而不是维护数组和处理出口集合,这是一种公认​​有点古怪但仍然有趣的简单机制。

Give your buttons these tags in Interface Builder, eg 1 to 4. They will allow you to access these buttons easily.在 Interface Builder 中为您的按钮提供这些标签,例如 1 到 4。它们将允许您轻松访问这些按钮。

Then you do not need a string to store the button to hide, just an Int .那么你不需要一个字符串来存储要隐藏的按钮,只需要一个Int The following will hide the button to be hidden and unhide all other buttons.以下将隐藏要隐藏的按钮并取消隐藏所有其他按钮。

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