具有白色背景的应用程序图标仅在iOS上显示为黑色

时间:2018-07-10 11:57:31

标签: xcode react-native icons

我在React Native中构建,但是我不确定这是一个RN问题。

仅在iOS上遇到了令人困惑的异常情况。我的具有 白色 背景的应用图标(不是透明的)显示为黑色,但仅在iOS上显示。 Android可以正常工作。我尝试从Xcode AppIcon screenshot

中删除图标

删除ios/build文件夹,清除我的缓存,重新链接,关闭模拟器和Metro,然后重新启动。没有。还是黑的。我不知道这是怎么回事。它让我发疯。 而且,我根本不知道为什么它会 出现,因为我将其从ios中删除了,这显然意味着它仍在缓存中。一点,各种像素密度的图标仍然存在。可能是因为缺少1024pt图标,Xcode却“借用”了其他尺寸的图标?但是,由于所有图标均为白色(由图标的创建者确认),因此不会解释黑色背景。

1 个答案:

答案 0 :(得分:0)

我在本机iOS应用程序中遇到了类似的问题,其中一组白色背景的图标显示为黑色。就我而言,问题的原因是在代码(UIImageRenderingModeAlwaysTemplate)中将图标设置为呈现为“模板图像”。修复是将其呈现为“原始图像”(UIImageRenderingModeAlwaysOriginal)。

根据您的情况,您可以在2个地方进行检查:

  1. 在“资产目录”部分中,对于有问题的图标,检查“渲染为”字段的值是否设置为“原始图像”而不是“模板图像”。
  2. 在目标C / Swift代码中,检查如何使用此图标。确保从以上图标创建UIImage时,使用模式UIImageRenderingModeAlwaysOriginal渲染它。

    NSString * str = [NSString stringWithUTF8String:resourceName.c_str()];
    返回[[UIImage imageNamed:str] imageWithRenderingMode: UIImageRenderingModeAlwaysOriginal ];