【发布时间】:2021-01-12 11:49:51
【问题描述】:
我已经实现了四个复选框。现在,我想一次选择一个复选框,如果选中了其他复选框,我希望同时取消选中它。
这是我尝试过的,但它选择了所有复选框。
@IBAction func checkboxTapped(_ sender:UIButton){
if (sender.isSelected == false){
sender.setImage(UIImage(named: "selected"), for: UIControl.State.normal)
sender.isSelected = true;
} else {
sender.setImage(UIImage(named: "unselected"), for: UIControl.State.normal)
sender.isSelected = false;
}
}
在这里,我为所有复选框提供了相同的 IBAction 连接。
【问题讨论】:
-
首先,您应该在选中复选框时使用 State .selected (否则使用 .normal ),其次,我认为 setImage 调用是您仅在设置按钮时才进行的调用,而不是每次点击它。
-
我正在使用@IBAction,所以每当我点击按钮时,它都会更改图像。