使用UIImage.renderingMode()创建图像

时间:2018-10-25 04:31:54

标签: ios swift

我在初始化代码中的图像时遇到了一些问题。当它所在的单元格突出显示时,我试图更改其tintColor属性:

iconImageView.tintColor = isHighlighted ? UIColor.white : UIColor.black

要做到这一点,我用以下行初始化图像:

iconImageView.image = UIImage(named: imageName)?.renderingMode(.alwaysTemplate)

但是出现以下错误:

  

无法调用非功能类型'UIImage.RenderingMode'的值

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

“ renderingMode”是UIImage的只读属性。

创建并返回具有指定渲染模式的新图像对象。 您可以使用:

open func withRenderingMode(_ renderingMode: UIImage.RenderingMode) -> UIImage

代码段:

let imageView: UIImageView = UIImageView.init()
let image = UIImage.init(named: "name")?.withRenderingMode(.alwaysOriginal)
imageView.image = image

答案 1 :(得分:0)

renderingMode->指定图像的可能渲染模式。 withRenderingMode(_ :)->创建并返回具有指定渲染模式的新图像对象。

您需要使用withRenderingMode( :),因此将renderMode更改为withRenderingMode(:)

let image = UIImage(named: "imageName")?.withRenderingMode(.alwaysTemplate)
iconImageView.image.setImage(image, for: .normal)
iconImageView.image.tintColor = isHighlighted ? UIColor.white : UIColor.black