繁体   English   中英

在故事板中设置UITabBarItem图像,但在运行应用程序时不同

[英]Setting UITabBarItem image in storyboard but different looking after run app

1)我在Assets.xcassets中添加了四个png图像。 选中的图像

正常的形象

2)在故事板中,我嵌入了一个标签栏控制器。 设置TabBarItem图像。 故事板设置

3)但运行应用程序后。 我发现图像看起来与我的设置有点不同,我不知道为什么,谁能知道为什么以及如何修复? 等你帮忙,谢谢 在此输入图像描述

图像看起来不同的原因是因为它填充了平面颜色,而.png包含一些白色而不是空白背景。 UIImage有一个名为renderingMode的属性。 此属性可以是defaultAlwaysOriginAlwaysTemplate

因此,对于UITabBarItem ,默认渲染模式是AlwaysTemplate ,这就是填充图像的原因。 并且由于您的图像在搜索图标内部包含白色背景(它应该不包含任何图形),因此它也会被填充。

所以你有两个选择:
1.从图标中删除白色背景。
2.由于您使用的是XCAssets,因此可以在XCAssets属性窗格中更改渲染模式。

您可以在此处从XCAssets执行此操作:

在此输入图像描述

你需要设置UIImage.renderingMode,试试这个

NSArray *items = self.tabBar.items;
UITabBarItem *item = items[0];
item.image = [[UIImage imageNamed:@"tabbar_recruit.png"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM