我想创建一个登录视图控制器,但在开始时,我的主视图控制器上有一个导航栏,但当我断开连接并在失去导航栏后连接时。
我放了一些图片。

我按下导航栏左侧的叉号按钮。
@objc func handleDisconnect() -> Void {
let vc = LoginViewController()
self.present(vc, animated: true) {
}
}

我按下连接按钮
@objc func handleConnect() -> Void {
print("handleConnect")
let vc = ViewController()
present(vc, animated: true) {
}
}

我又回到了HomeViewController,但我失去了导航栏
如何在登录时保留导航栏?
谢谢你们
发布于 2018-04-19 17:53:51
选项1.将新的视图控制器推送到您现有的导航堆栈上,而不是呈现:
let VC = self.storyboard!.instantiateViewControllerWithIdentifier("yourVCIdentifier") as! yourVCName
self.navigationController!.pushViewController(VC, animated: true)选项2.将新的视图控制器嵌入到新的导航控制器中,并以模态的方式呈现新的导航控制器:
let VC = self.storyboard!.instantiateViewControllerWithIdentifier("yourVCIdentifier") as! yourVCName
let navController = UINavigationController(rootViewController: VC) // Creating a navigation controller with VC1 at the root of the navigation stack.
self.present(navController, animated:true, completion: nil)发布于 2020-05-22 11:08:49
在要显示导航栏的视图控制器上使用:
override func viewWillAppear(animated: Bool) {
self.navigationController?.navigationBarHidden = false
}发布于 2018-04-19 17:54:54
您需要在导航控制器中呈现控制器。尝试如下所示:
present(UINavigationController(rootController: vc), animated: true)https://stackoverflow.com/questions/49917921
复制相似问题