0

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

在我的故事板中,Tab Bar Item 和 Bar Item 中的图像图标完全变灰。

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

有人可以告诉我如何解决这个问题吗? assets.xcassets 中的图片 在标签栏上设置自定义图像

4

2 回答 2

1

就像@luiyzheng 说的,这是图像渲染模式造成的。将呈现模式应用于 TabBar 中的所有项目的更好方法是将此代码放在 TabBarController viewDidLoad 方法中:

 for item in self.tabBar.items! {
            item.image = item.image?.imageWithRenderingMode(.AlwaysOriginal)
            item.selectedImage = item.selectedImage?.imageWithRenderingMode(.AlwaysOriginal)
        }
于 2016-04-26T03:10:34.920 回答
0

在 iOS7 之后,您可以设置 UIImage 是否使用当前视图的 tint color 渲染imageWithRenderingMode

始终原创

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

总是模板

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

自动的

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

所以你想要的是:

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

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

祝你好运:-)

于 2016-04-26T02:43:51.800 回答