Кнопка выбора одного радио - PullRequest
0 голосов
/ 04 января 2019

Итак, у меня есть 3 кнопки

override func viewDidLoad() {
    super.viewDidLoad()

    weeklyRadioButton.setImage(UIImage(named: "a"), for: .normal)
    weeklyRadioButton.setImage(UIImage(named: "b"), for: .selected)

    biWeeklyRadioButton.setImage(UIImage(named: "a"), for: .normal)
    biWeeklyRadioButton.setImage(UIImage(named: "b"), for: .selected)

    noThanksRadioButton.setImage(UIImage(named: "a"), for: .normal)
    noThanksRadioButton.setImage(UIImage(named: "b"), for: .selected)
}

@IBAction func biWeeklyRadioButtonTapped(_ sender: UIButton) {
    sender.isSelected = !sender.isSelected
    weeklyRadioButton.setImage(UIImage(named: "a"), for: .normal) . 
    // its not changing then image of the button.
    noThanksRadioButton.setImage(UIImage(named: "a"), for: .normal)
}

и два аналогичных действия для двух других кнопок.

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

, скажем, я выбрал кнопку 1 при выборе кнопки 2, кнопка 1 отменяется

1 Ответ

0 голосов
/ 04 января 2019

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

@IBAction func anyRadioButtonTapped(_ sender: UIButton) {

    //Reset all of them first
    weeklyRadioButton.isSelected = false
    biWeeklyRadioButton.isSelected = false
    noThanksRadioButton.isSelected = false

    //Highlight associate button
    sender.isSelected = !sender.isSelected
}
...