我在Swift 3上工作,我正在尝试制作像单选按钮一样的复选框。我自己解释一下:我有8个按钮;每个都有一个“未选中”的图像和一个“已检查”的图像。我只想要选择1个按钮(因此,显示ITS“已检查”图像)。单选按钮的原理。 所以我尝试在每个按钮上使用@IBAction,我就是这样:
@IBAction func tona1_changed(_ sender: Any) {
if test_tona1.isSelected == true
{
test_tona1.setBackgroundImage(UIImage(named: "0b_unchecked"), for: UIControlState.normal)
test_tona1.isSelected = false
}
else
{
test_tona1.setBackgroundImage(UIImage(named: "0b_checked"), for: UIControlState.normal)
test_tona1.isSelected = true
}}
它实际上使图像在“取消选中”和“检查”之间切换,但我根本不知道如何使其与其他按钮交互。 我尝试使用带有按钮标签的数组但我没有工作的东西。我也尝试上课,但我不知道它是如何起作用的。 谢谢!
答案 0 :(得分:1)
您可以通过多种方式实现这一目标。其中最琐碎的是:
为每个按钮添加一个动作,目标函数类似于:
func buttonPressed(sender:UIButton) {
for button in buttons {
button.isSelected = false
// deselect your model datasource[button.tag]
}
sender.isSelected = true
// select your model datasource[button.tag]
}
我将抽象/改进/安全留给您。关键点是使用一组按钮,迭代它们,并相应地选择/取消选择它们,并且不每次都使用大的if / else检查按钮标记。