我正在尝试使用两个视图创建一个tableview,tableview控制器和otherView控制器。 tableview需要导航控制器才能在单击单元格时进入第三个视图。我尝试在AppDelegate.m中使用下面的代码,但它只是用导航控制器创建了tableview。关于如何编辑这个以使tabview工作的任何建议?谢谢!
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
AJBTableViewController *masterViewController = [[AJBTableViewController alloc] initWithNibName:nil bundle:nil];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
_mainTabBar.viewControllers = [NSArray arrayWithObjects:_navigationController, otherViewController, nil];
[_window addSubview:_mainTabBar.view];
return YES;
}
答案 0 :(得分:1)
标签栏控制器应该是应用程序的根视图控制器,而不是第一个标签栏项目的导航控制器。
答案 1 :(得分:1)
_mainTabBar.viewControllers = [NSArray arrayWithObjects:_navigationController, otherViewController, nil];
[_window addSubview:_mainTabBar.view];
相反,这段代码,你尝试下面的代码:
UITabBarController *tbC = [[UITabBarController alloc]init];
tbC.viewControllers = [NSArray arrayWithObjects:_navigationController,otherViewController, nil];
self.window.rootViewController = tbC;
并删除
self.window.rootViewController = self.navigationController;
答案 2 :(得分:0)
很抱歉这个愚蠢的错误,我从未分配过tabbar控制器的实例,Mundi是对的,让rootviewcontroller成为了tabbarcontroller的方法。