最好的方式来使用checkbox – IOS的Swift
我将要开发一个将使用大量checkbox的项目。 我发现像下面这样的解决scheme,但我知道这是不正确的方式。
@IBAction func btn_box(sender: UIButton) { if (btn_box.selected == true) { btn_box.setBackgroundImage(UIImage(named: "box"), forState: UIControlState.Normal) btn_box.selected = false; } else { btn_box.setBackgroundImage(UIImage(named: "checkBox"), forState: UIControlState.Normal) btn_box.selected = true; } }
那么,任何人都可以向我展示在我的项目中有超过20个checkbox的正确方法吗?
我将使用checkbox的forms和设置的目的。
谢谢。
有很多checkbox控件,或者通过这种简单的方法来完成:
对于故事板:
-
设置你的button的select图像:
-
设置你的button的默认图像:
以编程方式:
btn_box.setBackgroundImage(UIImage(named: "box"), for: .normal) btn_box.setBackgroundImage(UIImage(named: "checkBox"), for: .selected)
在button操作中:
@IBAction func btn_box(sender: UIButton) { sender.isSelected = !sender.isSelected }
而不是检查每个button,只是使用通用的方式来处理这个。 将所有button设置为相同的IBAction方法,并执行如下操作:
@IBAction func btn_box(sender: UIButton) { // Instead of specifying each button we are just using the sender (button that invoked) the method if (sender.selected == true) { sender.setBackgroundImage(UIImage(named: "box"), forState: UIControlState.Normal) sender.selected = false; } else { sender.setBackgroundImage(UIImage(named: "checkBox"), forState: UIControlState.Normal) sender.selected = true; } }
您可以使用下面最有用的方法:在StoryBoard
或ViewDidLoad
为UIButton
分配图像:
checkBoxButton.setBackgroundImage(UIImage(named: "box"), forState: UIControlState.Normal) checkBoxButton.setBackgroundImage(UIImage(named: "checkBox"), forState: UIControlState.Selected)
在你的@IBAction
方法之后,只需实现以下代码:
@IBAction func btn_box(sender: UIButton) { sender.selected = !sender.selected }
这将做的伎俩。
请试试这个。
btn.setImage(UIImage(named: "uncheckImage"), for: UIControlState.normal) btn.setImage(UIImage(named: "checkImage"), for: UIControlState.selected) @IBAction func btn_box(sender: UIButton) { if btn.isSelected == true { btn.isSelected = false } else { btn.isSelected = true } }