有没有办法通过不添加按钮的任何色调来使用默认图像的"withRenderingMode(.alwaysTemplate)"?



我想使用"withRenderingMode(.alwaysTemplate("在按钮上设置图像,但不想更改任何色调颜色。只想设置默认图像。

let button = UIButton(type: .custom)
let image = UIImage(named: "image_name")?.withRenderingMode(.alwaysTemplate)
button.setImage(image, for: .normal)
button.tintColor = UIColor.red

在这里,我不想使用红色调。但是,如果我没有使用任何色调,但我没有得到实际的图像。我只想设置实际图像。

如果图像已经按照您喜欢的方式着色,那么您可以省略

withRenderingMode(.alwaysTemplate)

从文档中,Apple声明UIImage.RenderingMode.alwaysTemplate将:

始终将图像绘制为模板图像,忽略其颜色信息。

此外,为了确保您获得原始颜色,您可以使用:

withRenderingMode(.alwaysOriginal)

返回文档:

始终绘制原始图像,而不将其视为模板。

最新更新