无法在标签栏 iOS Swift 中显示图标
Posted
技术标签:
【中文标题】无法在标签栏 iOS Swift 中显示图标【英文标题】:Unable to show icon in Tab Bar iOS Swift 【发布时间】:2017-08-02 00:27:26 【问题描述】:尽管尝试了 SO 上发布的各种方法,但在初始化标签栏控制器时,我无法让模拟器显示标签栏图标。
对于每个图标,我提供了 3 种尺寸,即 25 像素 x 25 像素、50 像素 x 50 像素 (@2x) 和 75 像素 x 75 像素 (@3x)。
这就是我的 Tabbar 在模拟器中的显示方式
下面分别是Tab和Image属性
这是我的图标之一,大小为 75px x 75px (@3x)
有人可以指导我哪里出错了吗?
【问题讨论】:
只是出于好奇,您正在运行 Beta 版吗?我的所有图标在 Beta 版中停止显示,但在我的手机上显示。 检查您添加的图像的插图并尝试导入一个小图像(如 50Px)尝试使用 Xcode 版本并尝试在设备上启动应用程序也可能只是模拟器问题 @Diesel 没错,我在 X code 9 Beta 中运行,我尝试在我的设备上启动,但图像仍然没有显示。 【参考方案1】:对于 Swift 3.0
以编程方式为选定的选项卡和未选定的选项卡图像设置
let arrayOfImageNameForSelectedState = ["tabBar_img_1", "tabBar_img_2", "tabBar_img_3"]
let arrayOfImageNameForUnselectedState = ["tabBar_img_1", "tabBar_img_2", "tabBar_img_3"]
if let count = self.tabBar.items?.count
for i in 0...(count-1)
let imageNameForSelectedState = arrayOfImageNameForSelectedState[i]
let imageNameForUnselectedState = arrayOfImageNameForUnselectedState[i]
self.tabBar.items?[i].selectedImage = UIImage(named: imageNameForSelectedState)?.withRenderingMode(.alwaysOriginal)
self.tabBar.items?[i].image = UIImage(named: imageNameForUnselectedState)?.withRenderingMode(.alwaysOriginal)
【讨论】:
【参考方案2】:我终于发现问题与xcassets
文件夹有关。为了解决这个问题,我在 Xcode 中创建了一个新的 xcassets
文件夹。
File > New > Resource > Asset Catalog
.
如下所示,我确保我的目标应用程序也被选中。
我将图像从旧的xcassets
文件夹拖放到新文件夹中,所有图像都在加载中。
【讨论】:
【参考方案3】:尝试这样修改:-
然后以编程方式更新您的自定义图像
if let tabBarItems = yourTabBar?.items
tabBarItems[0].selectedImage(UIImage(name: yourImage)
【讨论】:
以上是关于无法在标签栏 iOS Swift 中显示图标的主要内容,如果未能解决你的问题,请参考以下文章