如何保持按钮被选中?

How to keep a button selected?

我正在尝试使用 AVPlayer 创建循环按钮。当用户点击一个按钮(循环)时,我希望它保持选中状态,直到用户再次点击它以取消选择它。我有以下代码,但它似乎不起作用。谢谢!

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

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


    } else {
        print("deselected")
    }
}

试试这个:

@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
}

综合上述问答:

@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")
    }
}