我用新的 Xcode 4.2 创建了一个新的“标签栏项目”。使用 UITabBar 的“新”方式有所不同:Xcode 不创建 xib 文件(使用 UITabBarController),但它通过代码完成所有工作。好的,让我们一起做。
所以我在 didFinishLaunchingWithOptions 中的代码是这样的:
UIViewController *viewController1, *viewController2, *viewController3;
UINavigationController *nav1, *nav2, *nav3;
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
viewController1 = [[gemboy_iphone alloc] initWithNibName:@"vc1" bundle:nil];
viewController2 = [[concerti_iphone alloc] initWithNibName:@"vc2" bundle:nil];
viewController3 = [[discografia_iphone alloc] initWithNibName:@"vc3" bundle:nil];
nav1 = [[UINavigationController alloc] initWithRootViewController:viewController1];
nav2 = [[UINavigationController alloc] initWithRootViewController:viewController2];
nav3 = [[UINavigationController alloc] initWithRootViewController:viewController3];
}
else {
//same thing for the iPad version
}
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:nav1, nav2, nav3, nil];
self.window.rootViewController = self.tabBarController;
[self.window addSubview:self.splash.view];
[self.window makeKeyAndVisible];
return YES;
它有效。
我的三个 .m 文件 vc1.m、vc2.m 和 vc3.m(还有我的 iPad UIViewControllers)都有这个方法
- (BOOL)shouldAutorotate {
return YES;
}
问题是当我旋转 iPhone 时,它没有旋转。
任何人请告诉我我在哪里做错了,有什么错吗?