编程转换丢失导航栏

Posted

技术标签:

【中文标题】编程转换丢失导航栏【英文标题】:Programming Transition Loses Navigation Bar 【发布时间】:2015-09-03 15:43:51 【问题描述】:

我的main.storyboard 文件有问题。我更改了我的应用程序的设置,以便开始屏幕是 main.storyboard 文件,而不是 LaunchScreen.xib。第一个ViewControllerNavigationController,第二个是我的SplashScreeViewController。 (我在情节提要中创建了自己的启动画面,以便我可以使用其他代码对其进行更改。)我在启动画面中使用了一行代码,以便稍后过渡到第二个视图控制器。这里是:

var controller:UIViewController = self.storyboard?.instantiateViewControllerWithIdentifier("Second") as! ViewController
controller.modalTransitionStyle = .CrossDissolve
self.presentViewController(controller, animated: true, completion: nil)

由于某种原因,当我转换到第二个 ViewController 时,应该在顶部(第二个 ViewController)的导航栏不存在,与 main.storyboard 文件中显示的相反.我尝试在启动画面中添加一个不可见的禁用按钮,以在两个视图控制器之间添加连接,因此在第二个视图控制器中添加了一个导航栏,但是当启动画面自行转换时,第二个视图控制器上不会出现导航栏.

有没有一种方法可以在我的第二个视图控制器上拥有一个导航栏,而无需将其拖入,也无需对其进行编程?当您在控制器之间创建新连接时,我想使用 Xcode 提供的那个。

提前感谢所有回复的人。

*(对于没有图片来帮助描述我的问题,我深表歉意。我没有足够的“声誉”来这样做。)

【问题讨论】:

【参考方案1】:

您需要将 Second 视图控制器嵌入到导航控制器上,然后实例化该导航控制器。

【讨论】:

【参考方案2】:

这可能会解决问题 - 当您可能希望使用 pushViewController 从初始导航控制器推送视图控制器时,您似乎正在呈现模态视图控制器

【讨论】:

以上是关于编程转换丢失导航栏的主要内容,如果未能解决你的问题,请参考以下文章

android MIPI屏 导航栏丢失

未选中使用自动布局时导航栏丢失

使用导航控制器后标签栏项目图标丢失

在导航栏按钮项中添加自定义图像时丢失 Segue 操作

Flutter - BottomNavigationBar底部导航栏切换后,状态丢失。底部

如何在不丢失导航栏的情况下将子视图添加到 UINavigation 控制器?