UINavigationViewController

UINavigationViewController

当我使用XCode 4构建应用程序时,我有下面的代码可以正常工作:

TestClass *tester = [[TestClass alloc]init];

NSMutableArray *nsa = [NSMutableArray array];
[nsa insertObject:tester atIndex:0];
self.navcontroller.viewControllers = nsa;
self.navcontroller.navigationBar.hidden = YES;
NSMutableArray *array = [NSMutableArray array];
[array addObject:self.navcontroller];
self.parentcontroller.viewControllers = array;

[tester release];

但是,现在当我在XCode 5中运行此代码时,收到以下错误:
UINavigationControllers are not allowed in a navigation controller!

我了解iOS7现在不能嵌套导航控制器,但是我将如何解决此问题?

最佳答案

我们有同样的问题。
我们有一个由UINavigationViewController(继承自UINavigationViewController的类)管理的应用程序的主要流程。

我们的应用程序有许多不同的进程,可以随时中止。这些进程中的每一个都由自己的UINavigationViewController(其他
继承...的类,这样我们可以在用户中止时弹出整个过程。

为了克服将UINavigationViewController推入另一个UINavigationViewController的堆栈的局限性,我们这样做:

NavVC1 : The main UINavigationViewController<br>
NavVC2 : A UINavigationViewController I want to push somewhere into NavVC1 stack<br>
VC_Host : An empty UIViewController containing NavVC2 as a child view controller.

我们将VC_Host推送到NavVC1堆栈中,然后得到一个嵌套的UINavigationViewController

关于ios - 导航 Controller 中不允许使用UINavigationControllers,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21118670/

10-11 16:47