标签栏控制器未显示栏按钮项

Posted

技术标签:

【中文标题】标签栏控制器未显示栏按钮项【英文标题】:Tab bar controller is not showing bar button item 【发布时间】:2014-10-26 19:18:34 【问题描述】:

我是 Objective-C 的新手,甚至更多地使用故事板。话虽这么说,我正在尝试在 UITabBarController 和 UINavigationController 中使用条形按钮项,如下图所示。

但是一旦我在模拟器中运行项目,这个项目就不会显示。如果可行,我将不胜感激非编程解决方案。

【问题讨论】:

在模拟器中看起来像......? @SevenBits 没显示,我附上模拟器截图 @SevenBits 我已经更新了问题。 嗯...看起来您在界面中使用了导航栏,但它被导航控制器的导航栏阻止了。尝试将 self.navigationController.navigationBarHidden = YES; 添加到您的 viewDidLoad 中,看看会发生什么...... 或者,如果您想在视图控制器的界面构建器中隐藏视图的导航栏,可以尝试在“模拟指标”中选择“顶栏”“无”。 【参考方案1】:

好的,那么这样做的方法:

当您创建标签视图控制器时。您必须添加一个导航控制器来处理每个选项卡。

选项卡视图控制器 --> 导航控制器 --> 视图控制器 1。

然后将条形按钮项添加到视图控制器 1。然后继续添加 segues。

现在,它仍然不会显示。

但是,如果您查看视图控制器 1 的代码:将条形按钮项目的情节提要中的引用添加到视图控制器 1 文件中。然后,在 ViewWillAppear() 中:

self.tabBarController.navigationItem.rightBarButtonItem = _btnNewContact;

从那里,它会显示出来,并且您在情节提要中配置的 segue 应该可以完美运行! =)

【讨论】:

【参考方案2】:

在我花了一段时间试图找到最好的方法后,我终于做到了,我从一开始就应该这样做。阅读苹果官方documentation。

参数

视图控制器 压入堆栈的视图控制器。此对象不能是 标签栏控制器 的实例,并且不能已经在堆栈中。

换句话说,我的方法只是一个糟糕的设计。

【讨论】:

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

如何允许标签栏项具有多个视图控制器

如何在 1 项标签栏控制器中制作顶部标签栏以快速显示多个视图控制器?

如何在1项标签栏控制器中制作顶部标签栏以在swift中显示多个视图控制器?

推送视图控制器未出现在标签栏控制器下方

导航和标签栏控制器未显示

条形按钮项目未显示