2013-01-06 175 views
1

我的應用程序完全是爲IOS6設計的。我使用iPhone的xib和iPad的另一個。我的AppDelegate設置了TabBarController,但TabBarController本身沒有類。 TabBarController有兩個標籤項,1個NavigationController和1個View Controller,每個都有自己的類。我希望iPad能夠以縱向模式運行,顛倒和正常運行。在Xcode目標的摘要選項卡中,我支持將界面方向設置爲縱向和縱向倒置。僅iPad應用程序肖像?

我與iOS 6的理解是,你只需要把

- (NSUInteger)supportedInterfaceOrientations 

一類的最高父控制器,並設置你會喜歡它,所有的子容器使用哪個面具。因此,在導航控制器的根視圖控制器我把:

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

而且在每個子類中,我提出:

- (BOOL)shouldAutorotate{ 

    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
    { 

     return YES; 

    } 
    else 
    { 
     return NO; 
    } 


} 

然後我把同樣的兩種方法在第二選項卡這只是一個視圖控制器類。

我在iPad上安裝了應用程序,並且在縱向模式下工作正常,但是當我將其顛倒時沒有旋轉。我退出了該應用程序並將iPad顛倒過來,但當我再次啓動該應用程序時,它仍然保持在同一個位置。所以,我徹底殺死了應用程序,並從頭開始顛倒。初始屏幕是顛倒的,但是當屏幕消失時,應用程序仍然只在肖像模式下顯示,使顯示器倒過來。

我錯過了什麼?

+0

檢查我的答案中的鏈接以獲取必要的代碼。 –

回答

2

點擊appName選擇Target並選擇您想要支持的方向。由於以上

enter image description here

+0

如果你看了這個問題,你會看到我說的地方:「在Xcode中Target的摘要選項卡上,我支持將界面方向設置爲縱向和縱向倒置。」 – user717452

+1

是的,但這是你所要做的。請勿執行任何其他輪換代碼。 – jrturton

+0

我已將其設置爲僅限肖像,但iOS 8中的通用應用仍處於自動旋轉狀態。 – coolcool1994

0

的代碼是偉大的預iOS版6.對於iOS 6中,你必須使用面膜的方向。如果你想在iPad中的所有視圖旋轉或只是一些你可以選擇使用上述答案。如果你想硬編碼,請在下面的鏈接中查看我的答案,以獲取所有蒙版自動旋轉的詳細代碼,或者旋轉一個視圖並讓其他人不旋轉。任何如何在這裏的鏈接 iOS 6 supportedInterfaceOrientations issue

上述答案也爲您提供正確的解決方案,但如果你想學習如何編碼它檢查我的答案在上面的鏈接。快樂的編碼。

+0

所以你說 - (布爾)shouldAutorotate是不需要的? – user717452

+0

我只在想要關閉旋轉並將某個視圖設置爲縱向時將其用於其他旋轉時才使用它。例如查看1幅肖像,查看2幅風景和其他所有視圖。否則,我只是將旋轉設置爲「是」,並且它在iPad和iPhone上的工作情況相同。 –

0

旋轉鎖是否啓用? (如果您是iOS新手,請雙擊主頁按鈕,然後向右滑動:這是箭頭形狀的小金屬風格按鈕)。

0

如果您只想在人像模式下運行應用程序,則只能運行 1.選擇您的目標。 2.在一般 - >開發信息 - >設備方向取消選中所有其他方向。僅應檢查模式。請執行您的項目。

相關問題