关闭当前视图控制器以下的所有视图控制器

时间:2018-08-01 12:36:28

标签: swift uiviewcontroller uinavigationcontroller

我正在使用UINavigationController。

让我们说我有这些堆栈

VC1 -> VC2 -> VC3 
VC1 -> VC3
VC1 -> VC2 -> VC4 -> VC3

在所有情况下,当它是当前视图控制器时,如何关闭VC3以下的所有VC。

如果有所不同,VC3将连接到TabBarController。

3 个答案:

答案 0 :(得分:1)

VC2中,使用setViewControllers方法推入VC3并删除其余部分,

self.navigationController?.setViewControllers([VC3], animated: true)

答案 1 :(得分:0)

您可以像这样从导航控制器堆栈中删除视图控制器: self.navigationController?.viewControllers.remove(at: index)

答案 2 :(得分:0)

在您的情况下,最好将应用程序的根视图从UINavigationController更改为UITabBarcontroller

您可以通过执行任何VC来实现:

self.view.window?.rootViewController = TabBarController

要了解更多信息,可以查看以下链接: