当我使用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/