[英]How to show the tab bar item's icon correctly
我使用storyboard创建了一个应用程序,并且有一个带有3个选项卡的标签栏控制器。 每个选项卡都有一个选项卡图标和一个选项卡标题,我有两个样式图标(已选中和未选中)。 两者都是54 * 54。
当我使用storyboard选择标签栏项目时,在其属性检查器中,如果我将Bar项目的Image设置为已选中,它将显示一些奇怪的事情:
当然那不是我想要的。 我想问题可能是我的选中图标是蓝色的。
我想知道如何获得选项卡的正确图标。 尺寸和外观都合适。
另外,有人可以告诉我“Tab Bar Item”和“Bar Item”的区别是什么?
要解决图像中“奇怪的事情”的问题,你可以在代码中执行此操作:(抱歉,我也不知道正确的单词)
UIImage *image = [[UIImage imageNamed:@"imageName"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
然后将此图像分配给UITabItem的图像:
UITabBarItem * tabItem = [tabBarController.tabBar.items objectAtIndex:0];
tabItem.image = image;
我不知道如何在故事板中做到这一点。
您还可以在外部(使用预览)或内部使用代码(搜索调整UIImage大小的方法)将图像调整为正确的大小。
Sketch
作为App Icon Tool,它可以方便地将您的图标,自定义图标或下载图标导入三种尺寸(@ 1x,@ 2x和@ 3x)。 我不建议您在代码中设置图标的大小。 Tab Bar Item
中将蓝色图标设置为Selected Image
的突出显示图标。 Bar Item
是Tab Bar Item
一部分。 如果您刚刚使用Default
图标,例如More
, favorited
, feather
,那么您不需要设置Tab Bar Item
。 选择System Item
为Custom
后,您将在Tab Bar Item
选择自己的icon
。 我只是遇到同样的问题!然后我弄明白了!
您的代码或设置没有任何问题
这是关于你的IMAGE
您只需查看手机上的应用程序。(差不多)任何标签栏项目图标均为灰色。
所以Icon只会将他们的UN空心部件显示为灰色!!
[另外,根据官方API,他们写道如下:
默认情况下,将根据源图像中的Alpha值自动创建未选择和选定的图像 。 要防止系统着色,请使用UIImageRenderingModeAlwaysOriginal提供图像。
]
因此,解决方案是:使用草图使您的实例的图标心脏部分为空心
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.