如何使用导航栏过渡到视图控制器?

时间:2019-03-22 07:30:12

标签: ios swift uinavigationcontroller

我需要连接两个模块。

  1. 授权模块,由1个屏幕组成。没有 控制器上的导航,它不在堆栈中。
  2. 主要应用。第一个屏幕是控制器的根目录 导航。

在成功通过Swift代码从授权屏幕到主应用程序进行授权的情况下,如何实现过渡?

My screen scheme

解决方案:

我将这种解决方案用于我的情况:

let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "rootVC")
        UIApplication.shared.delegate?.window??.rootViewController = vc
        view.present(vc, animated: true) {
            self.view.dismiss(animated: false, completion: nil)
        }

2 个答案:

答案 0 :(得分:0)

将storyboardId“ nav”提供给导航控制器,然后将其显示在您的登录视图控制器上。

if let nav = self.storyboard?.instantiateViewController(withIdentifier: "nav") {
    self.present(nav, animated: true, completion: nil)
}

答案 1 :(得分:0)

在情节提要上的导航控制器上,添加您的情节提要ID,例如,我将其命名为navController

enter image description here

在您的代码中,要从当前显示为导航控制器的位置开始,添加此行

如果在同一故事板上

上显示视图控制器
if let navController = self.storyboard?.instantiateViewController(withIdentifier: "navController") {
    self.present(navController, animated : true, completion : nil)
}

如果在不同的故事板上

上显示了视图控制器
let storyboard = UIStoryboard(name : STORYBOARD_NAME, bundle : nil)
let nav = storyboard.instantiateViewController(withIdentifier: "navController")
self.present(navController, animated : true, completion : nil)
相关问题