繁体   English   中英

标签栏不显示图标?

[英]Tab bar not showing icons?

我读了一堆相关的问题,我尝试了他们所说的,但没有任何效果。 不知道为什么。 所以,我有 3 个不同UIStoryboards 第一个是处理登录/注册的 Auth Storyboard,还有一个 storyboard 引用第二个 Storyboard - 选项卡栏 storyboard。这个 storyboard 包含 5 个其他 storyboard 的引用,它将加载单独的视图控制器。

我的问题是,一旦用户登录,图标就不会显示。我在 UITabViewController 中设置了第一个视图UITabViewController的自定义颜色,以确保它加载。 确实如此。

我试图将所有图像/图标设置为将它们呈现为“原始”,但没有用。 我设置了一个系统图像,只是为了看看是否是这个问题,它们没有显示。 另外值得一提的是,图标显示在 storyboard 中,但在编译时,它们在模拟器中无处可见。

我究竟做错了什么?

在此处输入图像描述

PS:我已经更改了标签栏的色调,只是为了测试它,它可以工作。 所以,问题不在于那个......

故事板参考和缺少标签栏图标的问题

如果您将 Storyboard References 附加到您的 Tab Bar Controller,您会注意到 Storyboard References 上实际上有一个UITabBarItem

假 UITabBarItem

不要为这个“假”UITabBarItem 设置属性!

当您运行该应用程序时,您的设置将什么也不做。 您提供的值仅影响您在 Interface Builder 中看到的内容,而不会影响您运行时的应用程序。

解决方案

您需要做的是转到您的故事板参考所指向的 ACTUAL 视图控制器。 该视图控制器上还将有一个 UITabBarItem。 这是“真正的”UITabBarItem。 在那里设置您的属性(图标、标题等),您将在运行应用程序时看到它们显示。

实际的视图控制器

我附上了描述连接的图像:

  1. 将 TabBar 控制器连接到你的五个视图控制器

  2. 对于每个视图控制器,选择任何视图控制器 -> 在顶部的 Xcode 选项中转到编辑器 -> 嵌入 -> 导航控制器

  3. 在 Navigation Controller 中选择底部栏 -> 在 Utilities 中打开 Attribute Inspector -> 提供在图像中突出显示的标题和图像

在此处输入图片说明

从登录/注册导航到 TabBar 屏幕:将 Storyboard ID 提供给 TabBarController 例如。 “TabBarController”并使用相应 Storyboard 的 Storyboard ID 创建 TabBarController 实例。

斯威夫特 3

func navigateToTabBar() {
    let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
    let nextViewController = storyBoard.instantiateViewController(withIdentifier: "TabBarController") as UIViewController
    self.present(nextViewController, animated:true, completion:nil)
}

我有同样的问题。 我的错误是我确实在“Tab Bar Item”中设置了Selected Image ,但我没有设置Image属性。

因此,标签栏图标显示在子视图 [故事板] 中,但没有显示在父视图中(即 TabBarController)。

如果您以编程方式制作导航控制器,由于 viewDidLoad 调用太晚,您将看到相同的症状。 在您的子视图控制器中覆盖 init 将使您的图标正确显示。

override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
    super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
    self.tabBarItem = UITabBarItem(title: "Settings", image: UIImage(named: "gear"), tag: 1)
}

required init?(coder: NSCoder) {
    super.init(coder: coder)
}

快乐编码!

不要忘记分别在标签栏项目栏项目类别中设置Selected Image属性和Image 属性

在此处输入图片说明

我有一个与上面类似的问题,但文本和图像都没有显示为 tabItem,但是有一个空的占位符区域并且仍然可以单击它并打开视图。

我的 tabItem 的 viewController 被设置为 Storyboard Reference 因此当我手动添加 Tab Bar Item 时不小心将它放在场景中但在场景的 viewController 之外。 这显然很重要......

在此处输入图像描述

暂无
暂无

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

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