如何返回根视图控制器

Posted

技术标签:

【中文标题】如何返回根视图控制器【英文标题】:How to return to Root View Controller 【发布时间】:2016-03-23 10:50:31 【问题描述】:

我目前正在开发一个以模态方式呈现屏幕和另一个自定义进度指示器的应用程序。是否可以无缝返回根视图控制器?

首页 -> screen1-> screen2(自定义进度指示器)

我想关闭自定义 progressIndicator(以及模态显示的屏幕)并一次返回我的主页(根)视图控制器。

 self.navigationController?.popToRootViewControllerAnimated(true)

感谢您的帮助!

【问题讨论】:

【参考方案1】:

您需要关闭呈现的模型,然后才能弹出所有推送的视图控制器。由于呈现的模型不会在导航的堆栈中。

self.dismissViewControllerAnimated(true, completion: );

然后你可以弹出到基础视图控制器。

self.navigationController.popViewControllerAnimated(true);

【讨论】:

【参考方案2】:

如果你使用presentViewController,你可以使用

[self.view.window.rootViewController dismissViewControllerAnimated:YES completion:nil];

返回根视图。它适用于ios9。

【讨论】:

【参考方案3】:

斯威夫特 4

self.dismiss(animated: true, completion: );
self.navigationController?.popViewController(animated: true);

【讨论】:

【参考方案4】:

在 Swift 3 中这将起作用:

self.dismiss(animated: true, completion: );
self.navigationController?.popViewController(animated: true);

【讨论】:

以上是关于如何返回根视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式返回具有全局功能的根视图控制器?

如何获取根视图控制器?

如何关闭相机并导航到根视图控制器?

如何从使用的 viewController 弹回根 ViewController?

iOS:从任何地方返回根视图控制器

返回根视图控制器