Только один checkbox


#1

Есть две кнопки - выбор пола М/Ж. При нажатии на кнопку меняется картинка


Кнопки добавил в один IBAction(может этого не нужно?) и присвоил каждой tag в сториборде м.tag == 100 ж.tag == 200. Они выбираются без проблем,но только можно выбрать оба поля, а мне нужно только одно. Как это лучше сделать?
Код для выбора двух значений
    @IBAction func selectGender(_ sender: UIButton) {
    guard let button = sender as? UIButton else {
        return
    }
    
    switch button.tag {
    case 100,200:
        if button.tag == 100 {
        sender.isSelected = !sender.isSelected
        } else {
            
        }
        break
    default:
        break
    }
}

Необходимо сделать несколько checkbox'ов на одном VC
#2

Это нужно самому в ручную выключать свойство isSelected у другой кнопки.
В iOS нету понятия CheckBox, как в Android. В iOS все CheckBox’ы, RadioButton’ы сделаны через обычные Button’ы. Поэтому тут нужно следить самому за состоянием всех таких элементов.


#3

Оказалось все проще чем я думал

  @IBAction func selectGender(_ sender: UIButton) {
    
    if sender.tag == 100 {
        selectMale.setImage(UIImage(named: "checkbox_selected"), for: .selected)
        selectMale.isSelected = true
        selectFemale.isSelected = false
    }
    else if sender.tag == 200 {
        selectFemale.setImage(UIImage(named: "checkbox_selected"), for: .selected)
        selectFemale.isSelected = true
        selectMale.isSelected = false
    }
}

#4

Как я и написал выше. А что бы с картинкой не заморачиваться, ее можно указать в IB для двух состояний, тогда она сама будет меняться.


#5

Вы как всегда правы))


#6

Пишу чисто по памяти, уже около 2-х месяцев не занимался плотно iOS. То Web, теперь вот Android.


#7

Может пора опять вернуться в “Этот яблочный мир”?


#8

Не от меня зависит. На какой проект кинут, то и делаю.
Но за год работы с яблоком, я к нему очень привык и после Androida, он мне показался удобнее и проще.