2013-12-18 149 views
1

我已经解决了这个问题。我只是发布我的结果,因为它可以帮助其他人。iOS导航控制器不会移动到下一个视图控制器

我有一个UITabBarControllerUINavigationControllerUIViewController被推到UINavigationController。我以前在我的UITabBarController上只有2个选项卡,但现在我有6个。所以我有一个“更多”按钮,必须按才能看到其他选项卡。每当我尝试在“更多”下的任何标签中推送UIViewController我的应用程序不会切换到UIViewController。 viewDidAppear函数不会被调用或任何东西。

这里是我的代码:

if (newViewController == 0) 
    newViewController = [[NewViewViewController alloc] initWithNibName: @"NewViewControllerXIB" bundle: [NSBundle mainBundle]]; 

TestAppDelegate *appDelegate = (TestAppDelegate *)[[UIApplication sharedApplication] delegate]; 
[appDelegate.navController pushViewController: newViewController animated: true]; 
+0

接受您自己的答案。 – Piyush

+0

我会在两天内允许我。 – Someone13

回答

0

事实证明,如果您使用的是UITabBarController和您的控制器有这么多的选项卡,将有一个“更多”按钮创建的,您的控制器将被放置到预制UIMoreNavigationController。因此,您需要使用为您创建的UIMoreNavigationController,而不是获取共享应用程序委托使用的导航控制器。所以你想这样做:

if (newViewController == 0) 
    newViewController = [[NewViewViewController alloc] initWithNibName: @"NewViewControllerXIB" bundle: [NSBundle mainBundle]]; 

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

我要开始把我所有的视图控制器推到它从现在开始的导航控制器。学过的知识。

相关问题