每次按下自定义按钮时如何设置标准按钮反应?

How do I set a standard button reaction every-time a custom button is pressed down?

我创建了一个自定义按钮,我希望它的背景在每次按下时(应用程序中的任何位置)都略有变化。

我知道如何使用 #selector(self.cardPressed(sender:)), for: .touchDown 在每个视图控制器中执行此操作,但我希望能够在我的 CustomButton class 中进行设置,因此我不需要再次调用它。

我尝试在 CustomButton 上使用 didSet class,但我只能覆盖 isHighlighted,无法弄清楚如何覆盖看起来像 isNoLongerHighlighted 的变量。

override var isHighlighted: Bool {
    didSet {
        backgroundColor = .red
    }
}

Swift 5.2

import UIKit

class CustomButton: UIButton {

    override func awakeFromNib() {
        super.awakeFromNib()
        // Set the unselected background color
        backgroundColor = .red
    }

    override var isHighlighted: Bool {
        didSet {
            backgroundColor = isHighlighted ? .green : .red
        } 
    }
}