渲染模式为 alwaysTemplate 的图像不起作用

Posted

技术标签:

【中文标题】渲染模式为 alwaysTemplate 的图像不起作用【英文标题】:Image with rendering mode as alwaysTemplate not working 【发布时间】:2016-09-17 17:53:41 【问题描述】:

我想更改图像的色调。我想知道为什么以下代码不起作用:

self.itemImage = [UIImageView new];
self.itemImage.contentMode = UIViewContentModeScaleAspectFit;
[_backgroundForCell addSubview:self.itemImage];

...

_itemImage.image = [UIImage imageNamed:vm.imgName];

...

self.imageView.image = [self.imageView.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
[self.imageView setTintColor:[UIColor redColor]];

我仍然看到这个:

【问题讨论】:

那个模板图片是对比黑色的PNG图片吗? @pedrouan 是的。你说得对。 【参考方案1】:

您可能忘记重命名变量:

替换

self.imageView.image = [self.imageView.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
        [self.imageView setTintColor:[UIColor redColor]];

self.itemImage.image = [self.itemImage.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
        [self.itemImage setTintColor:[UIColor redColor]];

【讨论】:

不客气。它可能发生在任何人身上,在夜间。

以上是关于渲染模式为 alwaysTemplate 的图像不起作用的主要内容,如果未能解决你的问题,请参考以下文章

在UITableViewCell上单击UIImageView模板图像色调变化

UITabBar 显示 UITabBarItem 图像忽略渲染模式 AlwaysOriginal

如何在 Xcode 6 Interface Builder 中使用模板渲染模式?

有条件渲染图像时 React 中的图像闪烁问题

Direct3D 使用“乘法”混合模式和 Alpha 渲染 2D 图像

在运行时更改 UIImage 渲染模式