【发布时间】:2013-05-31 15:42:22
【问题描述】:
我正在制作一个 iPad 应用程序,它有许多具有非线性流程的视图控制器。起初我使用导航控制器,但一段时间后,管理堆栈变得困难(推送和弹出视图)。如果我只是在每次导航时推送视图,最终堆栈将变得太重而无法管理并且是不可取的。
所以每次我想进行导航时,我都会遇到一种替换 rootviewcontroller 的方法
这是它的代码
twoViewController *twoVC = [[twoViewController alloc] init] ;
[self.navigationController setViewControllers: [NSArray arrayWithObject: twoVC] animated: YES];
我正在 Firstviewcontroller 中编写此代码。 twoViewController 是我想用 rootviewcontroller 替换的 viewcontroller。
问题:这是导航,但现在 twoViewController 完全变黑了。
请帮忙...
注意-我正在使用故事板
【问题讨论】:
-
没有完全理解,但是导航控制器是使用viewControllers最简单的方法。你可以很容易地push到someController并弹出到特定的ViewController。
-
实际上,在我的应用程序中,流程没有定义,即您可以从任何其他视图控制器转到任何视图控制器。这导致视图不断地推入堆栈,最终堆栈变得如此沉重,以至于应用程序无法管理。
-
这就是我所说的,只推送那些不在堆栈中的视图。如果它在控制器堆栈中,则弹出到该视图。这会很容易。