让说我有10 UIButton
像下面单选择在一些`UIButton`
我想要实现单一选择,但我不知道该这样做。条件如下:
首先,ALL
按钮将在选定的位置(高亮或等)。当我点击VCU
按钮之类的另一个按钮时,VCU
按钮将突出显示并且ALL
按钮将处于正常状态(不亮)。
代码片段:以上
@IBAction func buttonDisplayAction(_ sender: UIButton) {
if sender == self.buttonAll {
self.currNr = -1
self.filteredDataRoomStatus = self.dataRoomStatus
} else if sender == self.buttonVCU {
self.currNr = 1
self.isButtonSelected = true
self.filteredDataRoomStatus = filterArray(dataRoomStatus, keywords: "zistatus", searchStr: "\(self.currNr)", equalFlag: true)
} else if sender == self.buttonOC {
self.currNr = 5
self.isButtonSelected = true
self.filteredDataRoomStatus = filterArray(dataRoomStatus, keywords: "zistatus", searchStr: "\(self.currNr)", equalFlag: true)
} else if sender == self.buttonVCC {
self.currNr = 0
self.isButtonSelected = true
self.filteredDataRoomStatus = filterArray(dataRoomStatus, keywords: "zistatus", searchStr: "\(self.currNr)", equalFlag: true)
} else if sender == self.buttonVD {
self.currNr = 2
self.isButtonSelected = true
self.filteredDataRoomStatus = filterArray(dataRoomStatus, keywords: "checkout zistatus", searchStr: "0 2", equalFlag: false)
} else if sender == self.buttonED {
self.currNr = 3
self.isButtonSelected = true
self.filteredDataRoomStatus = filterArray(dataRoomStatus, keywords: "zistatus", searchStr: "\(self.currNr)", equalFlag: true)
} else if sender == self.buttonOD {
self.currNr = 4
self.isButtonSelected = true
self.filteredDataRoomStatus = filterArray(dataRoomStatus, keywords: "zistatus", searchStr: "\(self.currNr)", equalFlag: true)
} else if sender == self.buttonCO {
self.currNr = 12
self.isButtonSelected = true
self.filteredDataRoomStatus = filterArray(dataRoomStatus, keywords: "checkout", searchStr: "1", equalFlag: true)
} else if sender == self.buttonDnD {
self.currNr = 8
self.isButtonSelected = true
self.filteredDataRoomStatus = filterArray(dataRoomStatus, keywords: "zistatus", searchStr: "\(self.currNr)", equalFlag: true)
} else if sender == self.buttonOOO {
self.currNr = 6
self.isButtonSelected = true
self.filteredDataRoomStatus = filterArray(dataRoomStatus, keywords: "zistatus", searchStr: "\(self.currNr)", equalFlag: true)
}
do {
let currButton: UIButton = (sender as UIButton)
currButton.isSelected = !currButton.isSelected
if currButton.isSelected {
currButton.backgroundColor = UIColor.darkGray
} else {
currButton.backgroundColor = UIColor.clear
}
}
}
代码进行多重选择,但我需要一个单一的选择。 我已阅读this和this但我仍坚持了几个小时。任何建议或答案都会对我有所帮助。在此先感谢
你的意思是禁用选定的按钮,如果你按下一个按钮,它将被禁用,而其他人将是正常的? – Lawliet
@Lawliet我的情况就像在UITableView中带有复选标记的单选一样。只有一个按钮可以突出显示。如果按下另一个按钮,则最后一个高亮按钮将不亮。 –
@MarioMargoPradipta看到我的解决方案为您工作 –