我在我的项目中使用3个UIbutton,这3个按钮共享相同的IBAction,并且我使用了Switch控制器。使用Sender提供的标签,使用Sender.isSelected = True
突出显示发送者按钮。
我想做的是代替在每种情况下都不调用其他2个按钮来取消选择它们,我想知道是否有一种方法可以取消选择共享同一IBAction的其他按钮而不必在每种情况下都调用其他按钮。
我当前的代码:
@IBAction func tipChanged(_ sender: UIButton) {
switch sender.tag {
case 0:
tenPctButton.isSelected = false
twentyPctButton.isSelected = false
sender.isSelected = true
case 10:
zeroPctButton.isSelected = false
twentyPctButton.isSelected = false
sender.isSelected = true
case 20:
tenPctButton.isSelected = false
zeroPctButton.isSelected = false
sender.isSelected = true
}
}
尝试一下,可能对您有帮助
for view in self.view.subviews as [UIView] {
if let btn = view as? UIButton {
//here you can check your buttons tag and perform opration
}
}