0

新しい Xcode 4.2 で新しい「タブ バー プロジェクト」を作成しました。UITabBar を操作する「新しい」方法は異なります。Xcode は (UITabBarController を使用して) xib ファイルを作成しませんが、コードを介してすべてを行います。よし、やろう。

したがって、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;

そして、それは機能します。

私の 3 つの .m ファイル vc1.m、vc2.m、および vc3.m (および私の iPad UIViewControllers) には、このメソッドがあります。

- (BOOL)shouldAutorotate {

  return YES;
}

問題は、iPhone を回転させても回転しないことです。

どこで私が間違いを犯したか、何か間違ったことを教えてください。

4

1 に答える 1

0

uitabbarcontroller をサブクラス化して実装する必要があります

- (BOOL)shouldAutorotate
{
    return YES;
}

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