如何正确显示标签栏项目图标

时间:2015-04-20 08:25:43

标签: ios uitableview storyboard uinavigationbar uitabbar

我使用storyboard创建了一个应用程序,并且有一个带有3个选项卡的标签栏控制器。每个选项卡都有一个选项卡图标和一个选项卡标题,我有两个样式图标(已选中和未选中)。两者都是54 * 54。

checked is blue unchecked is gray

当我使用storyboard选择标签栏项目时,在其属性检查器中, 如果我将Bar项目的图像设置为已选中的图像,它将显示一些奇怪的事情:

strange

当然,这不是我想要的。我想问题可能是我的选中图标是蓝色的。

我想知道如何获得标签的正确图标。两者尺寸和外观都合适。

另外,有人可以告诉我" Tab Bar Item"的区别。和" Bar Item"?

enter image description here

3 个答案:

答案 0 :(得分:2)

用奇怪的事情解决问题'使用图片,您可以在代码中执行此操作:(抱歉,我也不知道正确的用语)

UIImage *image = [[UIImage imageNamed:@"imageName"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

然后将此图像分配给UITabItem的图像:

UITabBarItem * tabItem = [tabBarController.tabBar.items objectAtIndex:0];
tabItem.image = image;

我不知道如何在故事板中做到这一点。

您还可以在外部(使用预览)或内部使用代码(搜索调整UIImage大小的方法)将图像调整为正确的大小。

答案 1 :(得分:2)

  • 尺寸问题:我建议您使用Sketch作为App Icon Tool,它可以方便地将您的图标,自定义图标或下载图标导入三种尺寸(@ 1x,@ 2x和@ 3x)。我不建议您在代码中设置图标的大小。
  • 突出显示问题:您展示了图标的不同灯光类型,您可以在面板Selected Image中将蓝色图标设置为Tab Bar Item的突出显示图标。
  • 项目栏问题:我认为Bar ItemTab Bar Item的一部分。如果您刚刚使用Default图标,例如Morefavoritedfeather,那么您无需设置Tab Bar Item。在您选择iconTab Bar Item之后,您应在System Item中选择自己的Custom

答案 2 :(得分:0)

我只是遇到同样的问题!然后我弄明白了!

您的代码或设置没有任何问题

关于图片

您可以查看手机上的应用程序。(差不多)任何标签栏项目图标均为灰色。

因此Icon只会以灰色显示 UN Hollow 部分!

[另外,根据官方API,他们写道:

默认情况下,会根据源图像中的 Alpha值自动创建未选择和选定的图像。要防止系统着色,请使用 UIImageRenderingModeAlwaysOriginal 提供图像。

因此,解决方案是:使用草图使您的实例图标的心脏部分为空心