iOS开发 UITabBar的图标显示异常
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发 UITabBar的图标显示异常相关的知识,希望对你有一定的参考价值。
试过很多种大小到图片 显示的结果都是蓝色一块,无法正常显示 代码如下:
[self.tabBarItem setImage:[UIImage imageNamed:@"hometabicon.png"]];
self.title = @"home";
开始是怀疑尺寸的问题,试了各种尺寸都不行,后来也试了各种颜色的,结果也是模糊。从网上查了很多资料,也都解决不了问题,直到今天,无意中发现了真相,其实很简单,这牵扯到了ios 系统的机制问题。
每个UITabbar图标都需要两种图片,一张灰色或黑色背景,30*30左右,一张纯白色背景,30*30到60*60间的尺寸都行,比如:
在图片命名的时候,必须遵守一个条件,第一张图片名字是name.png,第二张图片名字必须是name@2x.png,(注意都是英文标点,x小写),
显示在UITabbar上的图标大小,会随着name@2x.png 图标大小而改变,目前还不清楚这种机制的来龙去脉,希望了解的通知下
这样设置后,图标就清晰了
看我这么认证回答,希望朋友能够采纳啊,谢谢啦!
UITabBar 图标未正确显示
【中文标题】UITabBar 图标未正确显示【英文标题】:UITabBar Icons not appearing correctly 【发布时间】:2018-05-24 10:34:39 【问题描述】:我正在开发一个 iOS 应用程序。我有一个带有 5 个视图控制器的标签栏。所有的图标都在 Storyboard 中设置:
当我启动应用程序时,2 搞砸了。主页(第一个 TabBar 视图控制器)实际上丢失了,最后一个(消息)甚至看起来都不像它应该的样子。我不知道发生了什么。主页标签栏图标完全消失了,未选中的消息图标看起来也不一样了。
我可以向您保证,所有图标都在 Assets 文件夹中。
但是当我启动应用程序时,它看起来像这样:
更新:我想出了消息标签栏项目(渲染为:原始图像解决了这个问题)。那是固定的。但是主页项目仍然没有显示。
【问题讨论】:
分享您的示例项目。 (带有标签栏和图标图像)。试试这个:删除故事板引用并直接与导航控制器附加选项卡项连接。然后为视图控制器添加情节提要参考 【参考方案1】:试试这个
转到资产文件夹。选择您的标签图像。在属性下的右侧,您将找到“渲染为”。选择“原始图像”。
【讨论】:
谢谢,但已经建议了,但它不起作用。【参考方案2】:玩了几个小时后,我终于弄明白了。基本上,由于我更改了UIStoryboard
中的顺序,因此删除了主视图控制器的UINagivationController
中的TabBarItem
。您所要做的就是在UINagivationController
中添加一个新的TabBarItem
并设置您想要的图像/图标。
【讨论】:
【参考方案3】:转到您的视图控制器并选择标签栏(点击底部图标)
并设置选中的图片和图片
然后转到您的图像资源并将所选图像的渲染模式更改为原始模式
希望对你有帮助
【讨论】:
双重检查了这个,我的项目也一样。不是这样的。 @Dani 你在以编程方式做任何事情吗? 我唯一要做的就是设置tabBar.tintColor
、tabBar.barTintColor
和tabBar.unselectedItemTintColor
。就是这样。在我添加一个容器视图并将该视图控制器嵌入到容器视图之前,这一切都正常工作。
@Dani 你能否评论一下这些东西,只是为了测试和检查天气,也不是【参考方案4】:
确保所有图片都在您的项目资产文件夹中。
【讨论】:
这就是为什么我发布了一些屏幕截图以显示所有图像确实存在。我知道人们会这么建议。但它们在资产文件夹中。 @Dani 你可以分享你的项目吗?【参考方案5】:确保下载的图标大小为 25*25 以达到 1x 大小。那会起作用的。
【讨论】:
不。可悲的是它没有用。顺便说一句,没有一个图标是那个大小。他们都工作。家也一直工作到最近,然后它就消失了。在此之前它有效,我还没有触及资产文件夹。以上是关于iOS开发 UITabBar的图标显示异常的主要内容,如果未能解决你的问题,请参考以下文章