2017-01-27 42 views
1

我想創建一個使用AVPlayer的循環按鈕。當用戶點擊一個按鈕(循環)時,我希望它保持選中狀態,直到用戶再次點擊它以取消選擇它爲止。我有以下代碼,但它似乎並沒有工作。謝謝!如何選擇一個按鈕?

@IBAction func didTapLoopButton(_ sender: Any) { 
    guard let loopButton = sender as? UIButton else { 
     return 
    } 

    if loopButton.state == .selected { 
     print("selected") 


    } else { 
     print("deselected") 
    } 
} 

回答

0

試試這個:

@IBAction func didTapLoopButton(_ sender: Any) { 
    guard let loopButton = sender as? UIButton else { 
     return 
    } 

    let selected = !loopButton.isSelected 

    if selected { 
     print("selected") 
    } else { 
     print("deselected") 
    } 

    loopButton.isSelected = selected 
} 
+0

感謝您的幫助!如果選中或未選中,我將如何能夠執行代碼?有點什麼我以上在我的代碼 – user7097242

+0

沒問題,我更新了我的答案。 – Coder256

0

從問題結合以上回答:

@IBAction func didTapLoopButton(_ sender: Any) { 
    guard let loopButton = sender as? UIButton else { 
     return 
    } 

    loopButton.isSelected = !loopButton.isSelected 

    if loopButton.state == .selected { 
     print("selected") 


    } else { 
     print("deselected") 
    } 
} 
+0

我不認爲'loopButton.state == .selected'必然反映'loopButton.isSelected',即使它的確如此,爲了保持一致性,您應該總是使用'loopButton.isSelected'。我用我推薦使用的代碼更新了我的答案。 – Coder256

相關問題