0

我用新的 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 时,它​​没有旋转。

任何人请告诉我我在哪里做错了,有什么错吗?

4

1 回答 1

0

你应该继承 uitabbarcontroller 和 implementn

- (BOOL)shouldAutorotate
{
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations
{
   return UIInterfaceOrientationMaskAll;
}   
于 2012-11-23T17:19:10.440 回答