2015-11-24 5 views
4

Простой способ обучения быстро, но я ударил маленькую стену, и, опять же, я уверен, что я немного новичок в этом, и там есть простое решение, но у меня есть Проблема в том, как выбрать/отменить выбор кнопок ниже, это то, что у меня есть до сих пор, и это кнопка превращается в галочку при нажатии. Я получил это далеко, но мне нужна эта кнопка, чтобы отменить выбор при повторном нажатии, а затем очевидно, быть в состоянии снова щелкнуть, если потребуется.Кнопки выбора/отмены выбора swift xcode 7

@IBAction func buttonPressed(sender: AnyObject) { 
    sender.setImage(UIImage(named: "Checkmark.png"), forState: .Normal) 
} 

ответ

4

Swift 3 Примечание: .selected и .checked теперь нижний регистр UIControlState значения в SDK, и некоторые методы были переименованы:

let button = UIButton() 
button.setImage(UIImage(named: "Unchecked"), for: .normal) 
button.setImage(UIImage(named: "Checked"), for: .selected) 

Вы можете теперь использовать литералы изображения с Xcode 8 вместо UIImage(named:):

#imageLiteral(resourceName: "Unchecked") 

Swift 2:

Почему бы не использовать состояние кнопки .Selected в качестве «проверенного» состояния, а состояние .Normal - состояние «непроверенное».

let button = UIButton() 
button.setImage(UIImage(named: "Unchecked"), forState: .Normal) 
button.setImage(UIImage(named: "Checked"), forState: .Selected) 

// ... 

@IBAction func buttonPressed(sender: AnyObject) { 

    if let button = sender as? UIButton { 
     if button.selected { 
      // set deselected 
      button.selected = false 
     } else { 
      // set selected 
      button.selected = true 
     } 
    } 
} 
+0

Что вы имеете в виду под заданным набором и не выбраны? – yrpalnoob

+0

UIButton может иметь несколько «состояний» с разными изображениями. Вы можете установить изображение как для выбранного, так и для нормального состояния, и выбрать, когда вы хотите, чтобы кнопка отображала каждое изображение, изменяя его состояние. – JAL

+0

И как это будет выглядеть? Это очень полезно, спасибо. – yrpalnoob

2

Вам не нужно устанавливать выбранные условия. Я просто делаю со следующим быстрым способом:

func selectDeselect(sender: UIButton){ 

     sender.selected = !sender.selected 

     if(sender.selected == true) 
     { 
     sender.setImage(UIImage(named:"select_heart"), forState: UIControlState.Normal) 

     } 
     else 
     { 
     sender.setImage(UIImage(named:"heart"), forState: UIControlState.Normal) 
     } 

    } 
+0

спасибо, брату, работали –

+0

для меня он выбрал несколько кнопок. –

Смежные вопросы