0

我选择选项卡式应用程序模板。然后我添加了 CoolViewController,但它没有出现在屏幕上。怎么了?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
 UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
 UIViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
 self.tabBarController = [[UITabBarController alloc] init];
 self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, nil];
 self.window.rootViewController = self.tabBarController;

 CoolViewController *coolVC = [[CoolViewController alloc] init];
 coolVC.view.frame = CGRectMake(0, 0, 320, 200);
 coolVC.view.backgroundColor = [UIColor blackColor];
 [self.window addSubview:coolVC.view];

 [self.window makeKeyAndVisible];
 return YES;
}

@interface CoolViewController : UIViewController
@end
4

1 回答 1

1

您不应该将 CoolViewController 添加到窗口,而是添加到UITabBarController.

你应该得到这样的结果:(注意:我没有尝试过)

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
 UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
 UIViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
 self.tabBarController = [[UITabBarController alloc] init];

 CoolViewController *coolVC = [[CoolViewController alloc] init];
 coolVC.view.frame = CGRectMake(0, 0, 320, 200);
 coolVC.view.backgroundColor = [UIColor blackColor];

 self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2,coolVC, nil];
 self.window.rootViewController = self.tabBarController;




 [self.window makeKeyAndVisible];
 return YES;
}
于 2012-07-26T08:31:03.270 回答