不能改变图像的颜色

Can't change colour of image

我在设置 Render As Template 图像的资产中有 png 图像。以下是代码。为什么不将图像设置为白色?如何解决?

@IBOutlet weak var iconImageView: UIImageView!

iconImageView.image = UIImage(named: "ico")?.withRenderingMode(.alwaysTemplate)
iconImageView.tintColor = .white

您的代码没有问题,并且运行良好。唯一的问题是图像具有透明度,这就是颜色无法正确显示的原因。

应该可以。试试这个,几乎一样。

extension UIImageView {
func setImageColor(color: UIColor) {
    let templateImage = self.image?.withRenderingMode(UIImage.RenderingMode.alwaysTemplate)
    self.image = templateImage
    self.tintColor = color
}

}