Измените цвет текста нажатием на другую кнопку

#swift #swift5

#swift #swift5

Вопрос:

У меня есть две IBAction и я хочу изменить текст двух кнопок, которые ссылаются на них IBActions . Я могу изменить отправителя. цвет собственной кнопки. Но не с помощью другой кнопки. Как я могу это решить? Мой код не работает. Это изменяет только собственный цвет.

   @IBAction func arminiaBielefeld(_ sender: UIButton) {
    team = "arminia"
    Bundesliga1.bildlink =  "bundesliga1/arminia"
    Bundesliga1.ligaIcon =  "bundesliga1/bundesliga1"
    sender.setTitleColor(.white, for: [])
    augsburg.setTitleColor(.blue, for: [])
}
@IBAction func augsburg(_ sender: UIButton) {
    team = "augsburg"
    Bundesliga1.bildlink =  "bundesliga1/augsburg"
    Bundesliga1.ligaIcon =  "bundesliga1/bundesliga1"
    sender.setTitleColor(.white, for: [])
    arminiaBielefeld.setTitleColor(.blue, for: [])
}
  

Добавлен скриншот.

Комментарии:

1. В коде нет ничего плохого, поэтому помочь невозможно. Вам нужно доказать, что ваши действия и выходы правильно настроены.

2. Я добавлю скриншот через минуту. Прямо сейчас я получаю две ошибки. 1. Не удается определить контекстную базу по ссылке на элемент blue 2. Значение типа UIButton не имеет элемента setTitleColor.

3. Хорошо, итак, вы должны были вставить этот код в вопрос. Не показывать изображения кода. Если бы вы это сделали, нам сразу стало бы очевидно, в чем проблема, а именно, что вы используете термины augsburg и arminiaBielefeld , но они ни на что не ссылаются.

Ответ №1:

Попробуйте использовать название выхода кнопки вместо отправителя. Также не должно совпадать название действия с названием торговой точки.

Добавьте следующие два выхода к вашему контроллеру просмотра и подключите их в раскадровке:

 @IBOutlet weak var arminiaBielefeld: UIButton!
@IBOutlet weak var augsburg: UIButton!
  

Работает следующее:

 @IBAction func arminiaBielefeldPressed(_ sender: Any) {
    team = "arminia"
    Bundesliga1.bildlink =  "bundesliga1/arminia"
    Bundesliga1.ligaIcon =  "bundesliga1/bundesliga1"
    arminiaBielefeld.setTitleColor(.white, for: [])
    augsburg.setTitleColor(.blue, for: [])
}

@IBAction func augsburgPressed(_ sender: Any) {
    team = "augsburg"
    Bundesliga1.bildlink =  "bundesliga1/augsburg"
    Bundesliga1.ligaIcon =  "bundesliga1/bundesliga1"
    augsburg.setTitleColor(.white, for: [])
    arminiaBielefeld.setTitleColor(.blue, for: [])
}