我使用选项卡视图模板在Xcode 4.2中启动了一个项目。在app委托中,我按代码添加了第三个选项卡,就像第一个和第二个选项卡一样。然后我用nib文件创建了第三个视图控制器类 当我运行这个应用程序时,我看到所有三个选项卡,但是当我点击第三个选项卡时,它会崩溃。 我注意到第一个和第二个nib文件在视图的底部(可能代表标签栏)有一个暗条,但我创建的新的第三个nib文件缺少它。知道如何让第三个标签工作吗?
由于
这是我添加第三个视图控制器的方式。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
UIViewController *viewController1, *viewController2, *viewController3;
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController_iPhone" bundle:nil];
viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController_iPhone" bundle:nil];
viewController3 = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController_iPhone" bundle:nil];
} else {
viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController_iPad" bundle:nil];
viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController_iPad" bundle:nil];
}
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, viewController3, nil];
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
return YES;
}
答案 0 :(得分:0)
在选项卡栏控制器中,确保选项卡的视图控制器的类与您创建的视图控制器类相同。
同时检查日志,它可能会为您提供一条非常有用的消息,说明它崩溃的原因。
修改强>:
没关系,您正在为viewController3传入一个未初始化的视图控制器。将所有这些初始值设置为nil。