2017-01-27 43 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

相关问题