ios – 在UITableViewCell上使用IB的“用户定义的运行时属性”

我有一个带有单个部分的静态UITableView;该部分有两个UITableViewCell,每个都有自己的UI
ImageView(见截图).我想修改单元格中使用的图像,以便它使用UIImageRenderingModeAlwaysTemplate的渲染模式(以便图像将尊重tintColor).

我选择了UITableViewCell并在IB的“用户定义的运行时属性”中设置了以下内容(参见屏幕截图):
注意:2是UIImageRenderingModeAlwaysTemplate的值.

当我运行应用程序时,Xcode会生成以下警告:

Failed to set (keyPath) user defined inspected property on (UIImageView): [<UIImageView 0x7fa490550d30> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key keyPath.

知道我在这里做错了吗?此外,我不想下载代码 – 如果可能的话我想坚持他们的故事板.

谢谢!

最佳答案 由于imageView.image.renderingMode是一个只读属性,因此如果您不想编写代码,则必须执行其他操作.

完成此操作的最简单方法是在Images.xcassets中创建一个新条目. xcassets中的图像允许您选择“渲染为:模板图像”.

点赞