2010-03-14 37 views
0

我創建了一個帶有TabBarController的應用程序,使用IB有4個TabBarItems,因此顯示4個不同的ViewControllers。 要允許橫向放置,我必須在我所有的視圖控制器的添加以下代碼:UITabBarController + autorotation


- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    return (interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown ? NO : YES); 
} 

是我不想例如secondViewController到自轉做的問題,我該怎麼辦呢? 因爲每次我在我的一個ViewController中刪除上面的代碼時,每個ViewControllers都不再旋轉。

感謝

回答

0

離開碼在那裏,但你會想要做的兩件事情之一:

  1. 禁用非旋轉選項卡顯示橫向視圖或
  2. 當viewWillAppear中或viewDidAppear該選項卡強制旋轉到肖像。

如:

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait animated:YES] 
+0

第二種方法是行不通的,因爲shouldAutorotateToInterfaceOrientation工作,每次我打開設備。你能告訴我如何做第一種方法嗎?如何禁用不可旋轉的選項卡? – ludo

+0

如果在不可旋轉的視圖可見時返回NO,則第二種方法可以工作。至於禁用選項卡,請使用視圖控制器的tabBarItem屬性並將啓用設置爲false。類似於nonRotatableController.tabBarItem.enabled = NO; –

+0

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait animated:NO] 問題在於View中的所有其他元素旋轉,TabBar,NavigationController以及View本身 – ludo