我试图找出在 Swift 中切换按钮状态的逻辑。这个概念很简单:
- 屏幕上有三个按钮。
- 当我点击一个按钮时,它会切换到“已选择”状态
- 当我点击另一个按钮时,我希望它将当前选中的按钮切换到“未选中”状态,并将新按钮切换到“选中”状态
我在 TouchUpInside 上为屏幕上的按钮使用了这个功能,但目前可以将它们全部“选中”,但我不想要:
func highlightTrack(sender:UIButton){
if(!sender.selected){
sender.selected = true
sender.backgroundColor = UIColor.blueColor()
} else {
sender.selected = false
}
}
我来自 Javascript 世界,所以我可能只是把我的逻辑搞混了,但是有没有办法检测屏幕上当前选定的按钮并将它们关闭,或者这更接近于“单选”按钮类型逻辑?
我的问题是,这些按钮是根据某些条件以编程方式创建的,所以从技术上讲,我不应该像那样即时创建 IBOutlets,对吗(IB 意思是“Interface Builder”?)?
感谢您的帮助!
最佳答案
func highlightTrack(sender:UIButton) {
if sender.isSelected {
return
}
btn1.isSelected = false
btn2.isSelected = false
sender.isSelected = true
}
关于ios - 单击不同按钮时删除按钮上的选定状态(Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35125473/