导航控制器的根视图控制器

时间:2012-07-11 08:41:18

标签: iphone ios xcode

我的viewControllers是这样的:


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];

现在我的疑问是这样的:

enter image description here

ImportantVIewrootView推到menuView推送到ViewA然后推送到View B,然后选择是返回menuView还是返回{{ 1}}。

我的问题是: 我想将ViewA作为rootView,然后当我转到ViewB时,它会将其返回为ImportantView。有可能有2个rootView吗?或者我需要互相替换?

非常感谢帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

始终更改根视图控制器的原因是什么?

使用viewA和viewB调用圆圈,您将构建一个无限的视图控制器堆栈。这可能不是你想要做的。

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