2014-05-03 25 views

回答

8

無論設備方向如何,接口方向都可以是任何東西。設備方向是您所持設備的實際物理方向,並且這不是可變的;就是這樣。如果您正在使用肖像,則爲肖像。但僅僅因爲設備處於肖像狀態,並不意味着你的界面也是肖像。您可能會要求您的應用只提供橫向,因此界面方向與設備方向不同。

+0

在項目設置中選擇方向時,爲什麼可能的方向標記爲_Device Orientation_,當它們明確指向此處的「UIInterfaceOrientation」而不指向「UIDeviceOrientation」時? –

+0

順便說一句,如果你解釋爲什麼左和右在枚舉中切換,你的答案會更好。這只是一種習慣,所以人們可以從主頁按鈕的位置告訴界面方向,還是有數學原因? –

0

以下的說明this site.得到

UIDeviceOrientation是的UIDevice類的屬性,還有這些可能的值:

UIDeviceOrientationUnknown - 無法確定 UIDeviceOrientationPortrait - Home鍵朝下 UIDeviceOrientationPortraitUpsideDown - 主頁按鈕朝上 UIDeviceOrientationLandscapeLeft - 主頁按鈕朝右 UIDeviceOrientationLandscapeRight - 主頁按鈕朝左 UIDeviceOrientationFaceUp - 設備是平坦的,與屏幕朝上 UIDeviceOrientationFaceDown - 設備是平坦的,與屏幕朝下

至於UIInterfaceOrientation,它是的UIApplication的性質,只包含4種可能性,其對應於狀態條的方向:

UIInterfaceOrientationPortrait = UIDeviceOrientationPortrait, UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown, UIInterfaceOrientationLandscapeLeft = UIDeviceOrientationLandscapeRight, UIInterfaceOrientationLandscapeRight = UIDeviceOrientationLandscapeLeft (從文檔複製)

例如,設備(實際的iPhone或iPod)可能位於UIDeviceOrientationLandscapeRight中,但如果您的應用程序不支持該功能,它(您的應用程序)可能仍在UIInterfaceOrientationPortrait中。

此外,獲得UIDeviceOrientation,您使用[的UIDevice currentDevice]取向],並獲得UIInterfaceOrientation,可以使用[[UIApplication的sharedApplication] statusBarOrientation]

您還應參考.. http://forums.gamesalad.com/discussion/40216/difference-between-device-orientation-and-interface-orientation