Ios 敏捷的使用IBOutlet更改多个UIButton

Ios 敏捷的使用IBOutlet更改多个UIButton,ios,swift,uibutton,iboutlet,Ios,Swift,Uibutton,Iboutlet,因此,我在一个viewcontroller上有20个UI按钮。我还有另外两个按钮,可以更改这些按钮的不同组的当前标题或背景色。(例如,按下这两个按钮中的一个将更改其他10个按钮的颜色,而按下其他按钮将更改其中15个按钮的背景。) 我是否注定要创建20个不同的IBoutlet,如: @IBVAR按钮1:UIButton @IBOutlet弱var按钮2:UIButton @IBOutlet弱var按钮3:UIButton 然后再写25行: 按钮1!。setTitleColor(UIColor

因此,我在一个viewcontroller上有20个UI按钮。我还有另外两个按钮,可以更改这些按钮的不同组的当前标题或背景色。(例如,按下这两个按钮中的一个将更改其他10个按钮的颜色,而按下其他按钮将更改其中15个按钮的背景。)

我是否注定要创建20个不同的IBoutlet,如:

@IBVAR按钮1:UIButton

@IBOutlet弱var按钮2:UIButton

@IBOutlet弱var按钮3:UIButton

然后再写25行:

按钮1!。setTitleColor(UIColor.redColor(),forState:.Normal()

button2!.setTitleColor(UIColor.redColor(),forState:.Normal())

button3!.setTitleColor(UIColor.redColor(),forState:.Normal())

当然有一种更简单的方法可以做到这一点?我不能将多个UI链接到IBOutlet,更改按钮的标签也没什么作用,因为不管怎样,我还是要写25次该死的东西


是否可以将这些按钮分组,这样我就可以编写一行代码来更改该组中的所有内容?

将按钮标签设置为101到125等系列,然后单击任何按钮执行此操作

for(UIButton *button in <parent view of buttons>.subviews){
   if(button.tag >= 101 && button.tag <= 125){
      button.setTitleColor(UIColor.redColor(), forState: .Normal()
   }
}
for(ui按钮*子视图中的按钮){

如果(button.tag>=101&&button.tag=101&&button.tag),则可以使用引用插座集合(数组IBOutlet),而不是单个IBOutletsHow是否一次对数组中的所有对象进行变异?[UIButton]type没有setTitleColor属性。很抱歉,我在这方面有点生疏。您需要在数组中循环并设置每个按钮的标题颜色。我希望在用户按下一个将颜色更改为红色的按钮后执行.setTitleColor命令。我将有另一个按钮将这些按钮更改为蓝色,另一个按钮将更改颜色这些按钮的背景色。你是说我可以通过将这3个按钮放在其他20个按钮的“父视图”中,然后写出后续代码来完成这些操作?无需在“父视图”中放置3个不同的按钮其他20个按钮。据我所知,有一个视图包含20个带串联标签的按钮和其他视图上的3个不同按钮,以更改20个按钮的颜色。因此,只需单击这3个按钮并编写以下代码,它肯定会工作。
for subview in self.createBugView.subviews {

     if let button = subview as? UIButton {
        // this is a button
       if(button.tag >= 101 && button.tag <= 125){      
             button.setTitleColor(UIColor.red, for: .normal)
            }
        }
     }