Swift 3通过按另一个按钮更改按钮的颜色

时间:2016-10-17 11:27:40

标签: swift3

我可以通过按钮操作各种标签质量,但我想通过按下重置按钮来更改多个按钮的颜色。不能为我的生活得到任何代码工作。

我的例子: firstButton是白色文本。 secondButton是白色文字。 当我按下resetButton时,我希望firstButton和secondButton将文本颜色更改为红色。

Swift 3,xcode 8。

PS;按下按钮时,我可以轻松更改按钮颜色 - 使用IBAction。

2 个答案:

答案 0 :(得分:2)

通过IBOutlet在每个按钮上使用一个属性,以便随时与他们联系:

class myClass {
    @IBOutlet weak var resetButton: UIButton!
    @IBOutlet weak var myButton: UIButton!
    @IBOutlet weak var my2ndButton: UIButton!

    @IBAction func didPressResetButton(_ sender: AnyObject) {
        myButton.backgroundColor = UIColor.green
        myButton.setTitle("Hello Tint", for: .normal)
        ...
        resetButton.setTitleColor(UIColor.red, for: .normal)
        myButton.setTitleColor(UIColor.red, for: .normal)
        ...
    }
}

答案 1 :(得分:1)

这有效:

    //link the buttons to change here
    @IBOutlet var buttonsToChange: [UIButton]!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func resetPressed(_ sender: UIButton)
    {

        for b in buttonsToChange
        {
            b.setTitleColor(UIColor.red, for: .normal)
        }
    }