1
我用新的Xcode 4.2創建了一個新的「標籤欄項目」。 使用UITabBar的「新」方式不同:Xcode不會創建xib文件(使用UITabBarController),但它通過代碼完成所有工作。好的,讓我們來做吧。使用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)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
的問題是,當我旋轉iPhone,它只是旋轉狀態欄,而不是TabBarController!
你知道爲什麼嗎? 謝謝
你的三個視圖控制器類稱爲gemboy_iphone,concerti_iphone和discografia_iphone,但它們駐留在文件vc1.m,vc2.m和vc3.m中是很常見的。你確定這是正確的嗎? XCode不會因爲它們的名稱與nib名稱相似而找不到這些文件。如果他們確實包含這些類,並且您已將文件的所有者類型設置爲這些類的nib中的類型,則會發生這種情況。 – morningstar