新しい「Xcode 4.2」で新しい「タブバープロジェクト」を作成しました。 UITabBarで動作する「新しい」方法は異なります.Xcodeは(UITabBarControllerを使用して)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;
そして、それは動作します。
私の3つの.Mファイルvc1.m、vc2.mとvc3.m(とも私のiPad UIViewControllers)は、この方法
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
を持っている問題は、私はiPhoneを回転させたときに、それが唯一の回転ということですステータスバー、TabBarControllerではなく!
あなたはその理由を知っていますか? ありがとう
3つのView Controllerクラスがgemboy_iphone、concerti_iphone、およびdiscografia_iphoneと呼ばれることは珍しいことですが、vc1.m、vc2.m、およびvc3.mファイルにあります。それが正しいと思いますか?名前がペン先名に似ているだけなので、XCodeはそれらのファイルを見つけられません。実際にそれらのクラスが含まれていれば、それらのクラスにファイルの所有者タイプを設定します。 – morningstar