0

我有这样的视图控制器:


startViewController ------> menuViewController 
                                          \
                                           \ ------> ImportantViewController

startMenu我推menuView然后我再次推importantView,我已将importantView其作为我的 rootViewcontroller 使其成为我的父视图,如下所示:

UINavigationController *navControl = [[UINavigationController alloc] initWithRootViewController: vc];
[self presentModalViewController: navControl animated: YES];

从那以后,我importantView通过以下方式推送了视图:

[self.navigationController pushViewController:vc animated:YES];

现在我的概率是这样的:

在此处输入图像描述

ImportantVIew当我rootView推到menuView推到ViewA 然后推到视图 B 然后选择是返回menuView还是返回ViewA

我的问题是:我想将 myViewB作为 rootView,然后当我转到ImportantView它时将它返回为 as rootView。是否可以有 2 个 rootView?还是我需要互相替换?

帮助将不胜感激。谢谢。

4

1 回答 1

1

一直在更改根视图控制器的原因是什么?

通过 viewA 和 viewB 循环调用,您将构建无穷无尽的视图控制器堆栈。这可能不是你想要做的。

退后一步,重新思考你想要达到的目标。您只想在 viewA 和 viewB 之间切换吗?在这种情况下,您应该选择与通常的 pushViewController 不同的架构/模式。阅读一些关于 removeFromParentViewController 或 transitionFromViewController:toViewController: 的内容。或者自己熟悉操作视图控制器链。这些东西可能有助于实现您想要创建的用户体验,而无需构建无穷无尽的视图控制器堆栈。

于 2012-07-11T08:50:52.723 回答