2

我的堆栈中有导航控制器和一些根视图控制器的应用程序。我需要一种将应用程序状态重置为默认值的方法,即当我的应用程序中的任何时候只有navigationController 并且它是根viewController 时。例如,我向后端发出一些后台数据请求并获得响应,这表示我必须立即注销用户。在那一刻,让我们假设,用户已经在 navigationController 堆栈中打开了很多其他的 viewController,并且可能一些展示了带有自己的 navigationController 的 viewController。所以我需要一种将用户从他所在的地方拉回到应用程序的根视图控制器的方法。

我知道这是一个糟糕的用户体验,但它绝对比崩溃的应用程序要好,无论如何这应该是一种罕见的情况。

我不认为在所有视图控制器之间创建连锁反应,将它们一个接一个地解除,直到它到达我的根视图控制器对我来说是一个好主意。在每个 VC 中都有太多相同的代码,我不想创建 UIViewController 的子类并从中继承我所有的 VC 来完成这项工作。

有什么建议么?

4

1 回答 1

0

您可以使用[self.navigationController popToRootViewControllerAnimated:YES]; 从应用程序的任何视图转到主 rootview 控制器。

于 2013-02-28T09:48:55.600 回答