我正试图将一个视图控制器VC1从一个导航控制器NC1弹到另一个导航控制器NC2中的另一个视图控制器VC2。
我使用的是VIPER架构,因此在不同导航层级中的不同视图控制器之间的路由需要我必须切换到我想要呈现的导航控制器的根部。
所以这里的问题是,在导航到第二个导航控制器NC2的视图控制器VC2后,我想回到第一个导航控制器NC1中的第一个视图控制器VC1。
我已经尝试了以下方法。
self.navigationController?.popViewController(animated: true)
navigationController?.dismiss(animated: true, completion: nil)
view.window?.rootViewController?.dismiss(animated: true, completion: nil)
self.navigationController?.popToRootViewController(animated: true)
但都没有成功 有什么办法吗?
请尝试这个代码:
let viewControllers = self.navigationController?.viewControllers
for vc in viewControllers! {
if vc is VC1 {
self.navigationController?.popToViewController(vc as! VC1, animated: true)
}
}