【问题标题】:How to navigate back through one navigationController and another navigationController?如何通过一个导航控制器和另一个导航控制器导航回来?
【发布时间】:2020-10-02 05:17:35
【问题描述】:

这里有:

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

上面SplitViewController的另一个链接

NavigationController >> mainDetailViewController >> NavigationController >> DetailViewControllerA

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

当我使用时

_ = navigationController?.popViewController(animated: true)

只有nil

谢谢。

【问题讨论】:

  • NavigationController >> MainViewController >> NavigationController>> DetailViewControllerA 为什么要给DetailViewControllerA 分配一个新的NavigationController

标签: ios swift uinavigationcontroller


【解决方案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(如果使用手动按钮,否则返回按钮将默认显示弹出功能)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多