1)我在Assets.xcassets中添加了四个png图像。
2)在故事板中,我嵌入了一个标签栏控制器。设置TabBarItem图像。
3)但是在运行app之后。我发现图像看起来与我的设置有点不同,我不知道为什么,谁能知道为什么以及如何修复?等你帮忙,谢谢
答案 0 :(得分:8)
图像看起来不同的原因是因为它填充了平面颜色,而.png包含一些白色而不是空白背景。 UIImage
有一个名为renderingMode
的属性。此属性可以是default
,AlwaysOrigin
,AlwaysTemplate
。
因此对于UITabBarItem
,默认呈现模式为AlwaysTemplate
,这就是您的图片被填充的原因。并且由于您的图像在搜索图标内部包含白色背景(它应该不包含任何图形),因此它也会被填充。
所以你有两个选择:
1.从图标中删除白色背景
2.由于您使用的是XCAssets,因此可以在XCAssets属性窗格中更改渲染模式。
您可以在此处从XCAssets执行此操作:
答案 1 :(得分:1)
你需要设置UIImage.renderingMode, 试试这个
NSArray *items = self.tabBar.items;
UITabBarItem *item = items[0];
item.image = [[UIImage imageNamed:@"tabbar_recruit.png"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];