2010-11-17 39 views
-1

我在我的應用程序中使用自定義選項卡(3選項卡)。每個標籤由導航控制器控制,如下所示。問題是當在自動旋轉方向上時,每個自動旋轉在根控制器上都很好,但是子控制器(shouldAutorotateToInterfaceOrientation)沒有響應。iphone autorotate問題

NSMutableArray *localControllersArray = [[NSMutableArray alloc] initWithCapacity:3]; 

UINavigationController *localNavigationContriller; 

    XXXViewController *mail; 
    xxx = [[XXXViewController alloc] initWithTabBar]; 

    localNavigationContriller=[[UINavigationController alloc] initWithRootViewController:xxx]; 
    [localNavigationContriller.navigationBar setBarStyle:UIBarStyleDefault]; 
    localNavigationContriller.navigationBar.tintColor = [UIColor colorWithRed:134/255.0 green:187/255.0 blue:34/255.0 alpha:1]; 
    [localControllersArray addObject:localNavigationContriller]; 
    [localNavigationContriller release]; 
    [xxx release]; 

    YYYViewController *rsvn; 
    yyyy = [[YYYViewController alloc] initWithTabBar]; 


    localNavigationContriller=[[UINavigationController alloc] initWithRootViewController:yyyy]; 
    [localNavigationContriller.navigationBar setBarStyle:UIBarStyleDefault]; 
    localNavigationContriller.navigationBar.tintColor = [UIColor colorWithRed:134/255.0 green:187/255.0 blue:34/255.0 alpha:1]; 
    [localControllersArray addObject:localNavigationContriller]; 
    [localNavigationContriller release]; 
    [yyyy release]; 


    TempController *tem; 
    tem = [[TempController alloc] initWithTabBar]; 


    localNavigationContriller=[[UINavigationController alloc] initWithRootViewController:calendar]; 
    [localNavigationContriller.navigationBar setBarStyle:UIBarStyleDefault]; 
    localNavigationContriller.navigationBar.tintColor = [UIColor colorWithRed:134/255.0 green:187/255.0 blue:34/255.0 alpha:1]; 
    [localControllersArray addObject:localNavigationContriller]; 
    [localNavigationContriller release]; 


    tabBarController.delegate=self; 
    tabBarController.viewControllers = localControllersArray; 

    [localControllersArray release]; 
+0

嘗試在這裏使用編輯器的代碼功能。 – WrightsCS 2010-11-17 21:00:09

回答

0

蘋果有具體指導這種情況:

http://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/CombiningViewControllers/CombiningViewControllers.html#//apple_ref/doc/uid/TP40007457-CH104-SW8

...你嘗試過下面的Apple的設置?

上面的源代碼是不可能的,它永遠不會編譯。您對問題的描述不完整(哪個根控制器失敗?根導航或根標籤?)。

但是......試着加入:

shouldAutorotateToInterfaceOrientation 

你的控制器的每一個,使每一個做NSLog的。通常情況下,你會發現其中一個(意外的)正在得到這個消息,但沒有一個是他的孩子。這通常意味着你沒有告訴它的一些孩子,但你應該能夠縮小它的範圍。