2013-03-13 66 views
0

我想爲我的應用程序中的不同viewController設置不同的規則,而不是所有視圖中的單個規則(就像您可以在Target-Summary中定義的那樣)。不同的UIViewController取向取決於用戶在哪個視圖

例如我有幾個視圖我希望我的第一個視圖只出現在縱向視圖中,但是在我的最後一個視圖中,我希望用戶能夠在縱向和橫向之間進行切換......我在弄清楚我可以做到這一點。

此外,我已閱讀的問題,其中用戶導航到一個視圖,而在景觀和視圖出現風景時,它應該是肖像,不會改變,直到用戶旋轉設備,我想避免這種情況,如果可能的話。 。

所以我的問題是我怎麼能允許不同的UIViewController取向,這取決於查看用戶在

回答

1

這將取決於你是否定位到iOS 5或iOS 6
的iOS 5:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation { 
    if ((orientation == UIInterfaceOrientationPortrait) || 
     (orientation == UIInterfaceOrientationLandscapeLeft)) 
     return YES; 

     return NO; 
} 

的iOS 6:

設置默認的程序信息,然後在VC支持的方向要有所不同:

- (NSUInteger)supportedInterfaceOrientations { 
    return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft; 
} 

HERE

蘋果文檔資料請參閱這些問題的更多信息:

shouldAutorotateToInterfaceOrientation not being called in iOS 6

shouldAutorotateToInterfaceOrientation is not working in iOS 6

+0

很酷謝謝:)我試過你提供的ios6代碼,發現加載視圖後我仍然可以旋轉..是代碼的正確行爲?或者我是否需要實現ios 5代碼,因爲這似乎會工作..不是我已經嘗試過了。 – HurkNburkS 2013-03-13 02:19:22

+0

這取決於你是否正在使用iOS 5或iOS 6運行這個應用程序。它們處理方向不同 – 2013-03-13 02:20:49

+0

是的,我在iOS6中運行..這兩個命令都沒有爲我工作..它仍然允許我旋轉視圖,例如,如果我只將Portrait定義爲受支持的界面......如果我的設置中沒有正確定義某些東西,我會發生什麼? (我正在閱讀你的其他鏈接) – HurkNburkS 2013-03-13 02:24:30

相關問題