Swift (斯威夫特)有人能帮我对这些按钮进行批量更改吗?

Swift (斯威夫特)有人能帮我对这些按钮进行批量更改吗?,swift,Swift,当用户进入此页面时,我想更改这些按钮的背景。 例如,当用户级别为6时,我想将按钮的前6个背景更改为蓝色图片作为第一个按钮。我不想一个接一个地写代码,所以请帮我写一个函数,非常感谢 您可以按级别递增的顺序向数组中添加按钮,并执行以下操作: var buttons: [UIButton] // array of your buttons, next you need to init it ... func setColorForUserLevel(userLevel: Int) { if u

当用户进入此页面时,我想更改这些按钮的背景。
例如,当用户级别为6时,我想将按钮的前6个背景更改为蓝色图片作为第一个按钮。我不想一个接一个地写代码,所以请帮我写一个函数,非常感谢

您可以按级别递增的顺序向数组中添加按钮,并执行以下操作:

var buttons: [UIButton] // array of your buttons, next you need to init it
...
func setColorForUserLevel(userLevel: Int) {
    if userLevel > buttons.count {
        return
    } else {
        for i in 0...userLevel - 1 {
            buttons[i].backgroundColor = UIColor.blueColor()
        }
    }
}
我创建了一个简单的示例项目来演示如何使用它:

  • 我有带
    ui按钮的插座类型和
    按钮
    代码中的对象:

  • 我在
    viewDidLoad
    方法中测试
    setColorForUserLevel
    函数:

    重写func viewDidLoad(){ super.viewDidLoad()
    按钮=[按钮1,按钮2,按钮3] setColorForUserLevel(2) }


  • @IBOutlet弱var LevelOutlet2:UIButton!变量按钮:[UIButton]=[LevelOutlet2]我在初始化时遇到问题。Xcode tell me controller.type没有成员“LevelOutlet2”将
    var按钮更改为
    @IBOutlet var add:[UIButton]并将所有按钮连接到此集合。运行一个循环来改变你想要的。这真的很有帮助,非常感谢!