标签栏 UIViewController 中导航栏中的按钮未显示

Posted

技术标签:

【中文标题】标签栏 UIViewController 中导航栏中的按钮未显示【英文标题】:Button in Navigation Bar in Tab Bar UIViewController not showing 【发布时间】:2015-07-31 13:32:30 【问题描述】:

我的导航栏中似乎没有任何按钮。

流程:导航控制器 -> 选项卡栏控制器 -> 视图控制器(想把按钮放在这里)

我尝试在 ViewDidLoad 中以编程方式添加它:

let navigationBar = navigationController!.navigationBar
    navigationBar.tintColor = UIColor.blackColor()

let leftButton =  UIBarButtonItem(title: "Left Button", style: UIBarButtonItemStyle.Plain, target: self, action: nil)
let rightButton = UIBarButtonItem(title: "Right Button", style: UIBarButtonItemStyle.Plain, target: self, action: nil)

    navigationItem.leftBarButtonItem = leftButton
    navigationItem.rightBarButtonItem = rightButton

我也尝试使用情节提要添加它,但它在运行时不显示。知道为什么我无法在导航栏中显示按钮

【问题讨论】:

【参考方案1】:

试试这样吧:

self.tabBarController?.navigationItem.leftBarButtonItems = [leftButton]

【讨论】:

ViewDidLoad 内部 还是不行。这令人沮丧,因为我能够将按钮添加到底部没有选项卡的其他视图控制器的导航栏上。我不知道为什么带有标签的视图控制器会给我带来问题 你是如何从你的 UINavigationController 转到你的 UITabBarController 的?【参考方案2】:

在 viewWillAppear 方法调用后加载来自故事板或 xib 的视图。并在 viewWillAppear 之前调用 viewDidLoad 方法。

所以在 viewDidLoad 方法中导航栏为零,所以它们不会出现。所以在 viewdidappear 方法中编写代码,你的按钮就会出现。

【讨论】:

我已将它添加到 ViewDidAppear 中,但它不起作用。该问题似乎仅发生在 tabcontroller 底部带有选项卡的视图控制器上 你能给我球机代码吗?我会尽力解决你的问题。

以上是关于标签栏 UIViewController 中导航栏中的按钮未显示的主要内容,如果未能解决你的问题,请参考以下文章

在标签栏控制器类型应用程序中切换 UIViewController

自定义标签栏不显示导航栏

标签栏包含导航和基于视图的应用程序

如何将导航栏和标签栏设置为通过 UIPopoverViewController 的视图?

iOS标签栏问题

七UIViewController导航栏