我想弄清楚在Swift中切換按鈕狀態的邏輯。這個概念很簡單:刪除按鈕上的選定狀態,同時單擊一個不同的按鈕(Swift)
- 我在屏幕上有三個按鈕。
- 當我點擊一個按鈕時,它會切換到「選定」狀態
- 當我點擊一個不同的按鈕時,我希望它將當前選定的按鈕切換到「未選中」狀態並將新按鈕切換到「選擇」
我有這個功能我就TouchUpInside使用的按鈕在屏幕上,但它有可能在瞬間將它們全部「選擇」這是我不想:
func highlightTrack(sender:UIButton){
if(!sender.selected){
sender.selected = true
sender.backgroundColor = UIColor.blueColor()
} else {
sender.selected = false
}
}
我來自Javascript的世界,所以我可能只是把我的邏輯交叉了起來,但是它是e是一種檢測屏幕上當前所選按鈕並將其關閉的方法,或者這更接近「無線電」按鈕類型邏輯?
我的問題是,這些按鈕是根據特定的條件編程創建的,所以在技術上我不應該創建IBOutlets,就像正確的(IB意思是'Interface Builder'?)?
感謝您的幫助!
您應該添加IBOutlets每個按鈕,當方法被調用,檢查每個IBOutlet中的狀態。 –
更好的是,使用引用outlet集合(一個數組),然後在'highlightTrack'中只需遍歷數組。如果元素是=='sender',那麼突出顯示按鈕,否則刪除突出顯示。 – Paulw11
@MthetheS。我的問題是,這些按鈕是根據某些條件編程創建的,所以在技術上我不應該像創建IBOutlets那樣正確(IB意思是「Interface Builder」?)?或者我認爲這是不正確的? – MillerMedia