按下时如何设置系统图像的 UIButton 色调颜色?

How to set the UIButton tint color of a system image when pressed?

我有一个使用系统图标作为图像的 UIButton,此时我正在使用以下设置色调颜色

buttonLogin?.tintColor = Globals().buttonFontColor

现在,当我按下按钮时,突出显示状态会将色调颜色更改为深灰色。我想改变这个,这样当我按下按钮时,颜色可以由我设置。我试过对按钮进行子类化,但没有成功。

import UIKit

class CustomButton: UIButton {
    
    override open var isHighlighted: Bool {
        didSet {
            tintColor = isHighlighted ? UIColor.white : UIColor.green
        }
    }

    /*
    // Only override draw() if you perform custom drawing.
    // An empty implementation adversely affects performance during animation.
    override func draw(_ rect: CGRect) {
        // Drawing code
    }
    */

}

谁能指出正确的方向谢谢。

您还必须禁用调整图像 属性:

buttonLogin?.adjustsImageWhenHighlighted = false

现在灰色效果应该消失了