SWIFT 5-调用用于更改情节提要的“显示”方法后,导航栏消失

问题描述

我是Swift的新手,遇到了以下问题: 我加载主故事板,如果用户为零,则加载其他场景的其他故事板。 为此,我运行以下代码

override func viewDidAppear(_ animated: Bool) {
    if (true) {
        let loginScene = UIStoryboard(name: "NilUser",bundle: nil).instantiateViewController(withIdentifier: "loginScene") as! LoginController
        loginScene.modalPresentationStyle = .fullScreen
        show(loginScene,sender: nil)
    }
}

我知道if语句始终为true,此刻我想要它。 我还检查了登录场景是否为初始场景,但即使这样,导航栏也不会显示。 问题是,现在在登录场景中我看不到导航栏,也无法理解为什么。 我能做什么?如果您需要更多说明,我会给您。 谢谢!

解决方法

据我了解

  1. 您的主故事板因此没有NavigationController:
self.navigationController?.pushViewController(loginScene,animated:true)

自self.navigationController以来不起作用?是零

  1. 您的NilUser故事板似乎在UINavigationController中嵌入了loginScene(UIViewController)吗?!?并且您希望这个UINavigationController会出现

通过致电

let loginScene = UIStoryboard(name: "NilUser",bundle: nil).instantiateViewController(withIdentifier: "loginScene") as! LoginController

直接实例化LoginController而不使用UINavigationController,因此应将UINavigationController设置为初始ViewController并尝试

let storyboard = UIStoryboard(name: "NilUser",bundle: nil)
guard let navigationController = storyboard.instantiateInitialViewController() else {
    // initial UINavigationController not found
    return
}
navigationController.modalPresentationStyle = .fullScreen
show(navigationController,sender: nil)

如果我错了,我可能已经错过了您的设置。

,

尝试

let loginScene = UIStoryboard(name:“ NilUser”,捆绑: nil).instantiateViewController(withIdentifier:“ loginScene”)为! LoginController

RewriteRule ^index\.php\?((forums|threads|members|resources|posts|help|tags|attachments).*)$ /forum/$1 [R=301,L]
,

尝试在控制器中添加以下代码:

override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        navigationController?.navigationBar.isHidden = false
        navigationController?.navigationBar.barStyle = .default
 
    }