xcode 7.3自定义图像在故事板中显示为灰色

时间:2016-04-24 20:44:27

标签: ios xcode7.3

我在xcode项目中将自定义图像添加到assets.xcassets为3x。它显示很好。 接下来,我通过选择系统项目作为自定义和选定图像作为自定义图像,将iage添加到标签栏项目。还通过选择自定义图像填充条形图像。

在我的故事板中,图标图标在标签栏项目和栏项目中都完全变灰。

图像是在Gimp中创建的,因为透明图像大小缩放到75x75

有人能告诉我如何解决这个问题吗? aimage in assets.xcassets setting custom image on tab bar

2 个答案:

答案 0 :(得分:1)

像@luiyezheng一样说,这是由图像渲染模式引起的。 将渲染模式应用于TabBar中的所有项目的更好方法是将此代码放在TabBarController viewDidLoad方法中:

 for item in self.tabBar.items! {
            item.image = item.image?.imageWithRenderingMode(.AlwaysOriginal)
            item.selectedImage = item.selectedImage?.imageWithRenderingMode(.AlwaysOriginal)
        }

答案 1 :(得分:0)

在iOS7之后,您可以使用imageWithRenderingMode设置使用当前视图的色调颜色渲染UIImage:

<强> AlwaysOriginal

  

始终绘制原始图像,而不将其视为模板。

<强> AlwaysTemplate

  

始终将图像绘制为模板图像,忽略其颜色   信息。

<强>自动

  

对图像所在的上下文使用默认渲染模式   使用

所以你想要的是:

self.barItem.image = UIImage(named: "yourImage")?.imageWithRenderingMode(.AlwaysOriginal)

通过将renderingMode设置为AlwaysOriginal,UIImage将始终绘制原始图像并且不会应用模板。然后你可以得到你想要的东西。

祝你好运: - )