讓說我有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看到我的解決方案爲您工作 –