我在使用tabBarController构建应用程序时遇到问题。 如果我从AppDelegate构建它,那么使用navigationController执行tabBarController是没有问题的。
但是现在我遇到了一个问题,当我想用上一个导航控制器推送后用tabBarController创建新视图(3个选项卡,每个选项卡都有导航控制器)。 它根本不起作用。
以下是代码:
MainViewController *mainViewController = [[MainViewController alloc] initWithNibName:@"MainView_iPhone" bundle:nil];
mainViewController.tabBarItem.title = @"First";
UINavigationController *mainNavigationController = [[UINavigationController alloc] initWithRootViewController:mainViewController];
DictionariesViewController *dictionariesViewController = [[DictionariesViewController alloc] initWithNibName:@"DictionariesView_iPhone" bundle:nil];
dictionariesViewController.tabBarItem.title = @"Second";
UINavigationController *dictionariesNavigationController = [[UINavigationController alloc] initWithRootViewController:dictionariesViewController];
tabBarController = [[UITabBarController alloc] init];
tabBarController.viewControllers = [NSArray arrayWithObjects:mainNavigationController, dictionariesNavigationController, nil];
[self.navigationController pushViewController:tabBarController animated:YES];
查看“第一”控制器后出现问题。应用程序崩溃......
请求帮助。
此致 博鲁特
答案 0 :(得分:1)
你想用以下代码做什么?
[self.navigationController pushViewController:tabBarController animated:YES];
你说你的应用有3个标签,每个标签都有一个导航控制器。因此,您应该将导航控制器添加到tabBarController.viewControllers
(您做过),但是您需要将tabBarController
设置为根视图控制器。
答案 1 :(得分:1)
我这样做了它并且有效:
registerViewController = [[RegisterViewController alloc] initWithNibName:@"RegisterView_iPhone" bundle:nil];
AppDelegate_Phone *delegatePhone = [[UIApplication sharedApplication] delegate];
[delegatePhone.firstViewController.navigationController pushViewController:registerViewController animated:YES];
感谢您的帮助。