有许多按钮iOS的出口

时间:2015-05-22 02:59:55

标签: ios swift uibutton

我有一个计算器应用。如果用户按下相等我想改变我所有按钮的背景颜色(数字1到9)我应该为每个按钮设置一个插座(每个按钮代表一个数字)或者有一种方法可以让一个插座覆盖所有按钮?

3 个答案:

答案 0 :(得分:7)

您需要IBOutletCollection

在Objective-C中,它看起来像这样:

@property (nonatomic, strong) IBOutletCollection(UIButton) NSArray* buttons;

在斯威夫特:

@IBOutlet var buttons: [UIButton] = []

然后将每个按钮连接到Interface Builder中的按钮插座,您可以轻松地遍历每个按钮。

答案 1 :(得分:2)

您可以循环UIView中的所有元素,并使用下面的代码以编程方式更改它

for view in self.view.subviews as [UIView] {
    if let btn = view as? UIButton {
         //do your changes here
         btn.backgroundColor = UIColor.redColor()
    }
}

答案 2 :(得分:0)

有一种方法

控制将每个按钮拖动到storyBoard的同一个插座。如果我正确记住,这应该将每个按钮连接到一个插座,尝试一下然后更新背景颜色以查看是否有效。

当然是的,如果您愿意,可以为每个按钮设一个插座