如何停止透明PNG图像在tableview单元格中显示为黑色
Posted
技术标签:
【中文标题】如何停止透明PNG图像在tableview单元格中显示为黑色【英文标题】:How to stop transparent PNG image showing as black in tableview cell 【发布时间】:2017-04-05 10:50:51 【问题描述】:我在 SO 中搜索了答案,但没有一个给出非常完整的答案,而且没有任何建议对我有用。
我有一个简单的表格视图,其中包含自定义单元格。其中一个单元格使用图像视图填充了 PNG 图像。但透明背景显示为黑色。我希望它是白色的。
我尝试了以下方法,但均无效: 在界面构建器集中: 图像背景为白色。 单元格内容视图的背景为白色。 单元格背景为白色。
任何帮助将不胜感激。
编辑: 错误是我的。请参阅下面的答案。
【问题讨论】:
您确定 PNG 包含 alpha 通道吗? 嗯,不是 100% 确定。我该如何检查?我用 x 2 张图片测试了它,一张我从网上下载的。在 Mac 上打开时,它具有指示透明度的方格视图。两张图片均显示黑色背景。 好的,将图像加载到 GIMP 之类的绘图包中,它会显示通道...除非使用 ALPHA 通道创建 PNG,否则 PNG 是不透明的。 好的,我已经用 alpha 通道的图像进行了测试。问题仍然存在。 【参考方案1】:将表格 View Cell 内容视图背景颜色设置为白色。
【讨论】:
我已经试过了。抱歉,在我的问题中,我说的是“内容视图颜色”。现在编辑为“内容视图背景颜色” 你使用的是tableViewController还是viewController?? 具有嵌入式 tableview 的视图控制器。 设置viewController的View的颜色为白色。如果这也没有帮助,那么图像可能存在问题。请检查 或使用 self.view.backgroundcolor = [UIColor whiteColor];在 viewDidLoad() 或 viewWillAppear()【参考方案2】:错误是我自己造成的。我正在使用扩展来转换图像并将 alpha 设置为 false。所以我从一个 PNG 开始,以一个没有 alpha 层的 PNG 结束。
【讨论】:
以上是关于如何停止透明PNG图像在tableview单元格中显示为黑色的主要内容,如果未能解决你的问题,请参考以下文章
tableview 单元格我们如何快速调整单元格的大小以及图像和标签