Как изменить состояние UIButton в iOS с помощью Swift?

У меня есть рабочий код Objective-C для шести кнопок, но я, похоже, не нахожу, как изменить состояние кнопки с помощью Swift. Так как сделать следующий код работать в Swift?

[self.button2 setBackgroundImage:[UIImage imageNamed:@"button2_selected.png"] forState: UIControlStateSelected];
button1.selected = NO;
button2.selected = !button2.selected;
button3.selected = NO;
button4.selected = NO;
button5.selected = NO;
button6.selected = NO;

4 ответов


проверьте это:

    var var_button_ =   UIButton()
    var_button_.setBackgroundImage(UIImage(named: "button2_selected.png"), forState: UIControlState.Normal)
    var_button_.selected = false
    var_button_.selected = !var_button_.selected
    //var_button_.selected = true

спасибо ОТ JNYJ


// вам нужно использовать true и false для значения bool в swift

buttonOutletName.selected = true buttonOutletName.selected = false

/ / создать IBAction и проверить выбранную кнопку или нет на языке swift. Вы можете изменить состояние кнопки.

@IBAction func favoriteButtonAction(sender: UIButton) {

// Save Data
sender.selected  = !sender.selected;

if (sender.selected)
{
    NSLog(" Not Selected");
    sender.selected = false
    self.setImage(UIImage(named: "checked_checkbox"), forState: .Normal)

}
else
{
    NSLog(" Selected");
    sender.selected = false
       self.setImage(UIImage(named: "unchecked_checkbox"), forState: .Normal)
}

}

создайте розетку и действие для вашей кнопки

дайте изображения "button_selected" и "button_not_selected" для выбранных конфигураций состояния и по умолчанию соответственно.

затем напишите приведенный ниже код в действии,

if button.isSelected {
    button.isSelected = false
}
else {
    button.isSelected = true
}

Я думаю, что это самый простой способ


//Способ 1 // Создать IBAction и проверить выбранную кнопку или нет...Нет необходимости устанавливать / / sender.выбрано значение true или false в операторе if/else.

    @IBAction func rememberMe(sender: UIButton) {
    sender.selected  = !sender.selected
    if sender.selected {
        self.setImage(UIImage(named: "RememberMe_Checkmark"), forState: .Normal)

    } else {
        self.setImage(UIImage(named: "No_Checkmark"), forState: .Normal)

    }

}

/ / Метод 2 с пользовательским типом из раскадровки

Введите описание изображения здесь Нажмите на ссылку изображения, чтобы увидеть образец

из раскадровки сделайте следующее

1) измените тип кнопки на"Custom"

2) Измените конфигурацию состояния на "Selected"

3) Установите изображение на значок флажка с галочкой asset

4) Установите фон на значок флажка без флажка asset

/ / Create и IBAction от кнопки и вписывают эту одиночную строку кода

@IBAction func rememberMe(sender: UIButton) {
    sender.selected  = !sender.selected
}