斯威夫特/iOS。从导航堆栈中删除几个视图控制器

Posted

技术标签:

【中文标题】斯威夫特/iOS。从导航堆栈中删除几个视图控制器【英文标题】:Swift / iOS. Remove few view controllers from navigation stack 【发布时间】:2017-09-10 06:16:00 【问题描述】:

这是我想做的事情,但我不确定这是正确的方法,所以请给我一个建议。

我有带导航 VC 的初始 VC,我从它推第一个 VC,我从它推第二个 VC。

接下来我介绍(来自第二个 VC 的 NavigationController)第三个 VC。

现在我想从导航堆栈中删除第一个和第二个 VC。

之后我希望得到这样的结果:我解雇了第三个 VC,我看到了初始 VC

我怎样才能得到这个结果?

【问题讨论】:

【参考方案1】:

您可以通过功能从导航堆栈中删除视图控制器:

navigationController?.viewControllers.removeAtIndex(*index of view controller you wanna remove*)

【讨论】:

【参考方案2】:

你可以通过调用UINavigationController.popToRootViewController(animated: Bool)回到初始视图控制器

【讨论】:

以上是关于斯威夫特/iOS。从导航堆栈中删除几个视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

iOS UINavigationController - 从导航堆栈中删除视图控制器确实会释放它

从导航堆栈中删除视图控制器

如何从导航控制器中删除视图

如何在我的 Xcode Swift 项目的不同导航堆栈中从一个视图控制器屏幕切换到另一个?

如何从集合视图单元导航到新的视图控制器?在斯威夫特

iOS – 在导航堆栈中显示一个视图控制器