ViewController立即转向导航控制器弹出导航控制器并返回到ViewController

时间:2018-05-02 04:21:39

标签: ios swift xcode uinavigationcontroller segue

我在Nav Controller中嵌入了一个View Controller,用于AWS Cognito。

然后我有一个独立的堆栈,它从最初的VC中被引用。

我有第二个堆栈嵌入在自己的Nav控制器中,我尝试过push,show和present modally。每当我尝试切换到新的Nav控制器时,执行segue,然后新的堆栈弹出,我会看到初始的VC。这是我的故事板的设置方式:

enter image description here

这是我对segue的准备:

  override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "FindTruth" {
      if let findTruthVC = segue.destination as? FindTruth {
        if let user = sender as? User {
        if let userDetails = self.userDetails {
          user.userDetails = userDetails
          print("User Details: \(userDetails) passed")
        }
          findTruthVC.user = user
          print("User: \(user.userId) passed")
        }
      }
    }
  }

调用segue:

self.performSegue(withIdentifier: "FindTruth", sender: self.user)

从第二个堆栈到初始堆栈/ VC

没有代码或故事板引用

编辑 - 当我按如下方式设置故事板时(使用从VC到VC的segue)视图转换,然后VC变为空白,它不会转换回登录视图,但应用程序无法使用

enter image description here

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

好吧,导航控制器是一个完全不同的实体。 你不能推他们。 您应该使用self.present(UINavigationController(), animated: true, completion: nil)