提问者:小点点

如何返回一个导航控制器和另一个导航控制器?


我有:

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


another link from SplitViewController above >> 2. NavigationController >> mainDetailViewController >> NavigationController >> DetailViewControllerA

当从MainDetailViewController导航时,我希望在DetailViewControllera上手动创建一个后退按钮。 但是如何从DetailViewControllera返回到MainDetailViewController呢?

当我用

_ = navigationController?.popViewController(animated: true)

只有nil

谢了。


共1个答案

匿名用户

问题就出在这里:

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(如果使用手动按钮,否则后退按钮将默认显示为弹出功能)