导航控制器标题未显示

Posted

技术标签:

【中文标题】导航控制器标题未显示【英文标题】:Navigation Controller Header is not showing 【发布时间】:2016-01-22 15:11:22 【问题描述】:

所以,这里我基本上有这个布局

但是当我构建成功时,我看不到导航控制器的标题。

我能做什么?

【问题讨论】:

拆分 2 个问题,直奔主题(无需介绍),较小的图像,从模拟器(命令-s)保存屏幕而不是屏幕抓取,如果您想要屏幕抓取,请使用命令- shit-4 + 空格键 + 点击整个窗口。 感谢编辑@SwiftArchitect 我的荣幸。请单独发布第二个问题...(我删除了它) 【参考方案1】:

这是你想要模仿的:

UITabBarController 设置为是初始视图控制器 为每个场景添加一个关系,不管是不是UINavigationController 如果场景是UINavigationController,它将像任何根导航控制器一样运行,具有自己的视图堆栈、后退按钮等。

运行上面的应用程序,然后点击 Item 2 将显示这个导航控制器:


如果您无法在启动时将UITabBarController 设为初始视图控制器,您可以稍后使用此技术将其设为root

let newViewController = self.storyboard?.instantiateViewControllerWithIdentifier("id")
                        as? UIViewController
self.view.window?.rootViewController = newViewController

这将展示上面的架构,尽管没有动画(也没有任何返回的方式)。非常适合入职或登录屏幕。


Xcode 7+iOS 9+

上测试

【讨论】:

好吧,你看,它前面有一个登录页面..所以我不能将标签栏控制器作为初始视图控制器 是的,那行得通。我所做的是删除初始导航控制器,然后在注册页面上添加一个取消按钮。 登录页面还有另一种解决方案:登录完成后,使用self.view.window?.rootViewController = tabBarController 之类的内容。它将用新的 vc 替换您原来的 vc(无动画) 对不起,打扰了。但是你上面的代码我应该把它放在哪里?我尝试将其放入为 MainTabBarController 创建的新文件的 viewDidLoad 中。 在你的IBAction处理程序中使用上面的代码,你通常会推送一个新的视图控制器。【参考方案2】:

将您的 TabBar 控制器设置为初始视图,并确保删除链接到它的导航控制器,然后它应该可以正常工作。

【讨论】:

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

导航控制器标题未显示

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

导航控制器未显示在 TableView 中

调用控制器和方法时,导航栏图像未显示在 MVC 视图上

模态视图导航栏未正确显示

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