从导航控制器移回视图控制器?
Posted
技术标签:
【中文标题】从导航控制器移回视图控制器?【英文标题】:move back to View Controller from Navigation Controller? 【发布时间】:2018-06-07 12:08:45 【问题描述】:我是 Swift 开发的初学者,但我一度陷入困境。我有一个 ViewController1(入口点)、导航控制器和 ViewController2。 ViewController2 包含 XLPagerTabStrip 并嵌入到导航控制器中。我可以使用以下代码从 ViewController1 移动到导航控制器。
let navigationController = mainStoryBoard.instantiateViewController(withIdentifier: "NavigationController") as! UINavigationController
let viewController = mainStoryBoard.instantiateViewController(withIdentifier: "ParentViewController") as! ParentViewController
navigationController.pushViewController(viewController, animated: true)
self.present(navigationController, animated: true, completion: nil)
现在的问题是我无法从导航控制器移回 ViewController1。
能够从 ViewController1 -> NavigationController -> ViewController2
移动但无法后退,即 ViewController1
提前致谢。
【问题讨论】:
【参考方案1】:试一试
navigationController?.popViewController(animated: true)
dismiss(animated: true, completion: nil)
【讨论】:
popViewController 不工作。单击返回时再次显示相同的 VC2。但解雇完成了这项工作。这有点奇怪。 有什么奇怪的【参考方案2】:在你的代码中删除这一行:
self.present(navigationController, animated: true, completion: nil)
当您想搬回来时,只需致电:
navigationController?.popViewController(animated: true)
【讨论】:
【参考方案3】:看起来你在一行中遗漏了自我,所以如果你更新它看起来像这样:
self.navigationController.pushViewController(viewController, animated: true)
它现在应该可以工作了......
【讨论】:
以及为什么你同时推送和呈现视图控制器 虽然这可能会回答问题,但最好包含一些关于此答案如何帮助解决问题的描述。请阅读How do I write a good answer?。以上是关于从导航控制器移回视图控制器?的主要内容,如果未能解决你的问题,请参考以下文章