2011-08-03 91 views
2

爲了獲得兩個垂直的表格視圖,就像設置應用程序一樣,我正在切換分割視圖控制器。在我的iPad的AppDelegate我寫了下面的代碼:UIWindow子視圖不會自動旋轉

rootViewController.view.frame = CGRectMake(0, 20, 270, 1004); 
[window addSubview:rootViewController.view]; 

detailViewController.view.frame = CGRectMake(270,20, 498, 1004); 
[window addSubview:detailViewController.view]; 

[window makeKeyAndVisible]; 

這個偉大的工程把一切縱向露面只是因爲它應該。但是,當我旋轉設備我的rootViewController旋轉,而詳細信息視圖控制器不。在我的兩個控制器我實現

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return YES; }

我在做什麼錯?

回答

2

這是預期的行爲。只有UIWindow中的「第一個」視圖將由窗口管理其旋轉。詳情請參閱Technical Q&A QA1688

如果你不打算使用UISplitViewController,下一個最好的辦法是消除你的根和細節視圖控制器,並從一個父UIViewController管理視圖。

如果你不想這樣做,你可以嘗試添加rootViewController.viewdetailViewController.view作爲內一個頂級的UIViewController子視圖,但請記住,你將不得不管理所有的意志/沒有出現/消失旋轉方法自己調用子控制器,並且有些事情會中斷,因爲子控制器的parentViewController將不是您的頂級控制器。

+0

我能夠創建一個頂級視圖來包含我的細節和根控制器的視圖。最典型的情況是,我會重寫所有內容到一個控制器中,但這兩個控制器已經有很多時間了。不理想,但它現在都在工作。 – alexcash

+0

非常感謝。 – alexcash