我有以下布局,您可以在图像上看到的每个屏幕都是一个故事板。
我遇到的一个问题是,在我的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)
当我进入任何页面时,为什么导航会消失,但顺序中的第一个页面。 我该如何解决这个问题?
答案 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()