Я ищу способ изменить цвет фона только для кнопок с одинаковым текстом
Я так понимаю: вам нужна коллекция кнопок, и когда нажимается какая-то кнопка из этой коллекции, вы хотите изменить цвет для всех кнопок из коллекции, имеющих одинаковый текст (заголовок, когда мы говорим о UIButton
)
Таким образом, вы можете иметь только одну коллекцию для всех кнопок. Свяжите их с этой коллекцией
@IBOutlet var buttons: [UIButton]!
а также вы можете иметь только одно действие для всех кнопок. Также свяжите их с этим действием. Затем, когда кнопка нажата, измените backgroundColor
кнопки, которая имеет тот же заголовок, что и кнопка, которая была нажата
@IBAction func buttonPressed(_ sender: UIButton) {
for button in buttons where button.currentTitle == sender.currentTitle {
button.backgroundColor = UIColor(displayP3Red: 1, green: 1, blue: 0.5, alpha: 0.8)
}
}