例如可以一次将.isHidden
设置为多个按钮,而不是:
button1.isHidden = true
button2.isHidden = true
button3.isHidden = true
类似button1, button2, button3.isHidden = true
。
答案 0 :(得分:7)
除了@ukim的答案外,您还可以使用 Outlet Collection 。
在情节提要中,从第一个按钮拖动鼠标,然后选择 Outlet Collection (而不是像通常那样选择 Outlet )。
哪个给你…
apply(data.frame(lapply(templist, function(x) apply(x[,3:5], 2, mean))),1,mean)
Estimate ci.lower ci.upper
4.331 1.271 7.392
然后将所有其他按钮连接到相同的 TEXT = data.Field(sequential=True,tokenize=tokenize, lower=True, include_lengths=True)
LABEL = data.Field(sequential=True,tokenize=tokenize, lower=True)
train = data.TabularDataset(path='./data.csv',
format='csv',
fields=[("label",LABEL),
("statement",TEXT)],
skip_header=True)
test = data.TabularDataset(path='./test.csv',
format='csv',
fields=[("label",LABEL),
("statement",TEXT)],
skip_header=True)
然后您可以说
@IBOutlet var buttons: [UIButton]!
答案 1 :(得分:6)
将它们放入数组中并遍历数组。
[button1, button2, button3].forEach {
$0.isHidden = true
}
答案 2 :(得分:4)
您还可以创建Array
扩展名。将元素类型约束为UIButton
也更有意义,这样您就不能为任何其他类型的数组调用它。
这样的事情,
extension Array where Element == UIView {
func show() {
forEach { $0.isHidden = false }
}
func hide() {
forEach { $0.isHidden = true }
}
}
然后像这样使用它
[button1, button2, button3].hide() // hide buttons
[button1, button2, button3].show() // show
在这种情况下,扩展集合更有意义,因为可以将Hide / show与ArraySlices一起使用,从而提供更大的灵活性。
这是您的操作方式,
extension Collection where Element: UIView {
func show() {
forEach { $0.isHidden = false }
}
func hide() {
forEach { $0.isHidden = true }
}
func toggleVisibility() {
forEach { $0.isHidden = !$0.isHidden }
}
}
有了这个,你可以做一些很酷的事情,
// hide all but not first
myArrayOfButtons.dropFirst().hide()
// hide buttons in indexes 0 to 1
myArrayOfButtons[0 ... 1].hide()
// show all buttons but not last
myArrayOfButtons.dropLast().show()
// hide first 2 buttons
myArrayOfButtons.prefix(2).hide()
// show last button
myArrayOfButtons.suffix(1).show()
// toggle visibility of first 2
myArrayOfButtons.prefix(2).toggleVisibility()
答案 3 :(得分:3)
您还可以创建IBOutlet集合
@IBOutlet var multiButtons: [UIButton]!
执行以下操作:当您从按钮中拖动并拖动到代码中时,选择“出口集合”;然后控制将其他按钮拖动到此插座集合。
现在,您可以
for button in multiButtons {
button.isHidden = true
}