故事板之间的导航 - 以不同的顺序输入

时间:2018-05-22 19:10:02

标签: ios swift xcode

我有以下布局,您可以在图像上看到的每个屏幕都是一个故事板。

Storyboard layout

我遇到的一个问题是,在我的AppDeligate文件中,我有一个基于var值的重定向。

如果我从AppDeligate重定向到上面图片中的第一个页面,那么导航都不起作用。

我使用以下代码在我的故事板之间导航

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "welcome")
self.present(vc, animated: false, completion: nil)

以下代码隐藏特定页面上的导航: -

self.navigationController?.setNavigationBarHidden(false, animated: animated)

当我进入任何页面时,为什么导航会消失,但顺序中的第一个页面。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

当你使用其他vc时,你只呈现一个UIViewController,而不是UINavigationController,然后就不存在显示的导航。

您需要检查您的vc是否是第一个,并且它不使用navigationController。

self.window = UIWindow(frame: UIScreen.main.bounds) 
let storyboard = UIStoryboard(name: "Main", bundle: nil) 
var initialViewController = storyboard.instantiateViewController(withIdentifier: "welcome") 

if !(initialViewController is UINavigationController) {

    let navigationController = UINavigationController(rootViewController: initialViewController)

    initialViewController = navigationController
}

self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()