2011-09-26 28 views
1

一切都很好,方法「shouldAutorotateToInterfaceOrientation」被稱爲像肖像,肖像向下,landscaperight和landscapeleft的標準方向。但是,我注意到,它並沒有被稱爲在iphone正躺在桌子上或面朝上時的方向。在我的代碼中[UIDevice currentDevice] .orientation返回一些像5和6那樣的值,但是,正如我所說的,旋轉事件方法並不是針對這些方向調用的。我錯過了什麼嗎?爲什麼shouldAutorotateToInterfaceOrientation不會在5,6中調用?

回答

2

interfaceOrientation旋轉後的應用程序的用戶界面 的方向。可能的值在 UIInterfaceOrientation中描述。

typedef enum { 
    UIInterfaceOrientationPortrait   = UIDeviceOrientationPortrait, 
    UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown, 
    UIInterfaceOrientationLandscapeLeft  = UIDeviceOrientationLandscapeRight, 
    UIInterfaceOrientationLandscapeRight  = UIDeviceOrientationLandscapeLeft 
} UIInterfaceOrientation; 

正如你所看到的方向是接口的方向,而不是設備的方向。

你可能想看一看:Reading the accelerometer

3

爲什麼呢?如果用戶將設備平放在桌面上,接口方向應該如何反應?設備無法判斷哪個方向是「正確的」方向。

設備方向≠接口方向

+0

謝謝,我的想法:) – Centurion

相關問題