Ios 更改图像视图';根据状态在UIButton中设置着色颜色

Ios 更改图像视图';根据状态在UIButton中设置着色颜色,ios,swift,xcode,uibutton,uiimageview,Ios,Swift,Xcode,Uibutton,Uiimageview,我在故事板中有一个ui按钮,它只显示一个图像而不显示文本。它的类型是系统。点击按钮时,需要更改图像的色调。如何使用ui按钮的state配置来实现这一点 我曾尝试在代码中为不同的状态设置图像,如下所示,但无法使其正常工作。谢谢 setImage(UIImage(named: "test")?.applying(tintColor: .red), for: .highlighted) setImage(UIImage(named: "test")?.applying(tintColor: .blue

我在故事板中有一个
ui按钮
,它只显示一个图像而不显示文本。它的类型是系统。点击按钮时,需要更改图像的色调。如何使用
ui按钮的
state配置来实现这一点

我曾尝试在代码中为不同的状态设置图像,如下所示,但无法使其正常工作。谢谢

setImage(UIImage(named: "test")?.applying(tintColor: .red), for: .highlighted)
setImage(UIImage(named: "test")?.applying(tintColor: .blue), for: .normal)
有关详细信息,请参阅图

有关详细信息,请参阅图像检查以下代码:-

@IBAction func onClickButton(_ sender: UIButton) {
 sender.imageView.image = sender.imageView.image?.withRenderingMode(.alwaysTemplate)
    if sender.isSelected || sender.isHighlighted{
        sender.imageView.tintColor = .red
    }else{
         sender.imageView.tintColor = .blue
    }
}
检查以下代码:-

@IBAction func onClickButton(_ sender: UIButton) {
 sender.imageView.image = sender.imageView.image?.withRenderingMode(.alwaysTemplate)
    if sender.isSelected || sender.isHighlighted{
        sender.imageView.tintColor = .red
    }else{
         sender.imageView.tintColor = .blue
    }
}

这也行得通,但我更愿意在代码中也这样做。谢谢这也很有效,但我更愿意在代码中也这么做。谢谢