首页 > 解决方案 > 表达式类型'@lvalue UIImage?' 没有更多上下文是模棱两可的

问题描述

我得到“表达式类型'@lvalue UIImage?' 使用 swift 4 在 IOS 中设置图像的色调颜色时,在没有更多上下文的情况下是模棱两可的。

cell.icon.image = cell.icon.image?.renderingMode(.alwaysTemplate)

有什么我做错了吗?

标签: iosswift

解决方案


UIImage.renderingMode是一个属性,所以你不能像函数一样调用它。您只需要访问单元格的属性并为其分配一个新值。

cell.icon.image?.renderingMode = .alwaysTemplate

如果你真的想修改image属性本身而不是仅仅改变它的渲染模式,你需要调用withRenderingMode.

cell.icon.image = cell.icon.image?.withRenderingMode(.alwaysTemplate)

推荐阅读