Я новичок в Swift, но кто-то упомянул, что я должен использовать индексы или теги для кнопок в IBOutletCollection.
Я не уверен, как индексировать или маркировать определенные кнопки, а затем ссылаться на них в случаях:
// images of checked and unchecked boxes for the button to switch between
var BoxON = UIImage(named: "CheckBox")
var BoxOFF = UIImage(named:"UnCheckBox")
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
boxes.forEach {
$0.setImage(BoxOFF, for: .normal)
$0.setImage(BoxON, for: .selected)
}
}
@IBOutlet var boxes : [UIButton]!
@IBAction func boxTouched(_ sender: UIButton) {
sender.isSelected = !sender.isSelected
let index = boxes.index(of: sender)!
switch index {
case 0:
sender.isSelected = !sender.isSelected
case 1:
sender.isSelected = !sender.isSelected
case 2:
sender.isSelected = !sender.isSelected
case 3:
sender.isSelected = !sender.isSelected
case 4:
sender.isSelected = !sender.isSelected
default:
sender.isSelected = !sender.isSelected
}
}
Заранее спасибо! :)
EDIT:
Убрал переключатель и заменил его оператором if (It Works!)
@IBAction func boxTouched(_ sender: UIButton) {
sender.isSelected = !sender.isSelected
if sender.isSelected{
sender.setImage(BoxOFF, for: .normal)
sender.setImage(BoxON, for: .selected)
}