Итак, у меня есть эти кнопки (3 стека по 6, то есть 18), и я хочу добиться, когда я нажимаю одну из этих кнопок:
Но я не хочу отключать другие с помощью isEnabled "хитрость (я нашел здесь только решения, включающие isEnabled), я все еще хочу, чтобы они были включены, я просто хочу, чтобы они не" подсвечивались "моим собственным стилем, когда один из них нажат.
для первого часть, которая является стилем, который я сделал в IBAction:
@IBAction func preset1Pressed(_ sender: UIButton) {
preset1.layer.borderColor = #colorLiteral(red: 0.4095217415, green: 0.6107917746, blue: 0.2774988226, alpha: 1)
preset1.layer.borderWidth = 0.42
preset1.setTitleColor(#colorLiteral(red: 0.4095217415, green: 0.6107917746, blue: 0.2774988226, alpha: 1), for: .normal)
}
Эта небольшая часть была предназначена только для 1 кнопки, но я думаю, что если у меня их 18, я должен создать класс или структуру, а не скопировать это внутри каждого IBAction ?? Или забавный c?
Тогда для 2-й части я не уверен, как это сделать, возвращаясь к исходным свойствам (установленным в Инспекторе атрибутов) других кнопок при нажатии одной из них. Интуитивно я уверен, что это комбинация массива из всех 18 кнопок внутри функции, которая пропустит oop через весь массив, и, возможно, создаст bool для каждой кнопки, чтобы проверить, нажаты они или нет, но я действительно не знаю, как будет выглядеть синтаксис ...
Стоит также отметить, что если я дважды нажму на одну и ту же кнопку, я не хочу, чтобы она возвращалась к своим первоначальным свойствам, а оставляла "нажатый" стиль .
Заранее спасибо!