UIButton 在选择时未正确响应



我创建了一个有四个按钮的视图控制器。在每个按钮上,复选标记的图像放在按钮上,但在加载视图时隐藏。选择按钮后,复选标记应显示在该按钮上,以通知用户系统已进行选择。如果用户在屏幕上选择其他按钮,我希望原始按钮复选标记消失,复选标记出现在新选择上。

当我运行软件并加载视图时,一切正常。问题是在我选择第一个按钮之后。当我在视图加载后第一次单击按钮时,复选标记将按预期出现在该视图上。一旦我尝试选择第二个按钮,我就无法选择它,复选标记保留在所选的第一个按钮上。

此函数的代码如下所示:

@IBAction func nomineeSelected(_ sender: UIButton) {
if sender == optionA {
checkboxA.hideBox = false
checkboxA.on = true
checkboxB.isHidden = true
checkBoxC.isHidden = true
checkBoxD.isHidden = true
} else if sender == optionB {
checkboxB.hideBox = false
checkboxB.on = true
checkboxA.isHidden = true
checkBoxC.isHidden = true
checkBoxD.isHidden = true
checkBoxD.isHidden = true
} else if sender == optionC {
checkBoxC.hideBox = false
checkBoxC.on = true
checkboxA.isHidden = true
checkboxB.isHidden = true
checkBoxD.isHidden = true
} else  {
checkBoxD.hideBox = false
checkBoxD.on = true
checkboxA.isHidden = true
checkboxB.isHidden = true
checkBoxC.isHidden = true
}
}

用户===运算符而不是==来测试两个对象引用是否都引用同一个对象实例。
像这样if sender === optionA {

阅读更多 关于 swift 中的运算符

最新更新