2012-02-16 51 views
4

我有一個奇怪的問題,我想不出如何解決它! 我的應用程序支持任何類型的方向(肖像,風景等..),但我設計的一個新的部分(視圖),只在景觀中有用。 所以我必須強制我的新視圖加載到橫向,一旦我按下按鈕或旋轉設備的方向,當這個特定的視圖創建。不使用[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationAnyOrientation]強制LandScape方向

使用解決所有問題,但我在網上看到使用此API將導致您的應用程序被Apple拒絕。 它是真的還是我可以使用它?

有很多意見我用UIViewController作爲「容器」,所以我可以更好地處理它們。我更喜歡使用這可能是一個問題本身... 我試圖用CGTransform旋轉視圖,並在視圖容器內使用BOOL「鎖定」旋轉,這解決了佈局問題,所以視圖顯示正確,但是當一個textView變成首選響應者,鍵盤以縱向模式顯示。 這就是爲什麼設備方向仍然是人像。

我也嘗試在鍵盤佈局上正常顯示,但沒有任何工作。

謝謝你給我的任何幫助!

+0

你用什麼API? – Canopus 2012-02-16 17:00:30

回答

16

將這個代碼在viewWillAppear中

UIViewController *viewController = [[UIViewController alloc] init]; 
[viewController setModalPresentationStyle:UIModalPresentationCurrentContext]; 
viewController.view.frame = CGRectZero; 
[self presentModalViewController:viewController animated:NO]; 
[self dismissModalViewControllerAnimated:NO]; 
[viewController release]; 

這將輪流新視圖控制器設備方向

+0

男人,你是一個該死的天才。我現在正在尋找這段代碼近兩天。解決方案非常簡單。 :) 正是我需要的。 Thx男子。 :) – Maverick1st 2012-02-17 10:28:50

+0

我正在尋找這個解決方案很長一段時間。我不相信這是可能的,但... =) – NeverBe 2012-02-17 12:14:17

+0

我希望我能以某種方式推廣這個答案,因爲Stack對這個問題充滿了錯誤/長期的答案。驚人! – 2012-03-19 08:08:21

相關問題