如何通过一个 navigationController 和另一个 navigationController 返回导航?

How to navigate back through one navigationController and another navigationController?

我这里有:

SplitViewController >> 1. NavigationController >> MainViewController >> NavigationController>> DetailViewControllerA

另一个 link 来自上方的 SplitViewController

NavigationController >> mainDetailViewController >> NavigationController >> DetailViewControllerA

我想在从 mainDetailViewController 导航时在 DetailViewControllerA 上手动创建后退按钮。 但是如何从 DetailViewControllerA 返回到 mainDetailViewController

当我使用

_ = navigationController?.popViewController(animated: true)

只有nil

谢谢。

问题出在这里:

NavigationController >> MainViewController >> NavigationController>> DetailViewControllerA 

不需要分配DetailViewControllerA一个新的NavigationController

应该是这样的:

NavigationController >> MainViewController >> DetailViewControllerA 

当你想推送到DetailViewControllerA屏幕时,你只需要像这样推送你的DetailViewControllerA

let vc = UIStoryboard.init(name: "Main", bundle: Bundle.main).instantiateViewController(withIdentifier: "DetailViewControllerA") as! DetailViewControllerA
self.navigationController?.pushViewController(vc, animated: true)

然后在 DetailViewControllerA 中,您可以轻松调用 popViewController 按下后退按钮(如果使用手动按钮,否则后退按钮将默认显示弹出功能)