2009-06-06 32 views
0

我遇到麻煩,無法找到能夠在不是根視圖控制器中更改方向的解決方案。例如,在具有根視圖控制器,用於主視圖的主視圖控制器和用於視圖視圖的flipside視圖控制器的實用程序項目中,我可以控制方向的唯一位置來自根視圖控制器。在主視圖或反面視圖中實現代碼不會限制或啓用方向。如何從不是根視圖的控制器中切換方向

我想要做的就是能夠在景觀中加載主視圖加載和在肖像中加入側視圖。這是可能的,還是我需要以某種方式重新加載根視圖控制器與不同的方向設置時,我切換主視圖和flipside視圖?

編輯:爲了澄清,我想將主視圖鎖定爲僅橫向,並將flipside視圖放入肖像 - 這些視圖不應該能夠旋轉。 - 謝謝。

回答

1

在你的「主窗口」.m文件中實現以下方法。

-(BOOL)shouldAutorotateToInterfaceOrientation:UIInterfaceOrientation)interfaceOrientation 
{ 
    return (interfaceOrientation == UIInterfaceOrientationLandscapeRight); // or whatever orientation is needed 
} 

在您的「flipside view」.m文件中實現以下方法。

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

在您的應用程序代理或在啓動過程中,您可以撥打下面的方法來界面方向設置爲橫向上啓動別處:

[application setStatusBarOrientation:UIInterfaceOrientationLandscapeRight]; // should match the first method above. 

希望這有助於。

Cheers-

+0

我在默認的工具項目中添加了你的代碼,但仍然有基本相同的問題。狀態欄會進入風景(實際上,即使在縱向視圖中它也保持在風景中),但我的主視圖仍然是縱向。當我取消主視圖控制器或側視圖控制器中的方向控件的註釋時,什麼都不會發生,並且當我取消註釋根視圖控制器中的方向代碼時,那麼這兩個視圖都將橫向或縱向 - 不希望我在之後。 我猜你說的意思是主要view.m當你說主要window.m。 – 2009-06-07 16:25:27

相關問題