[英]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.