我用這個代碼:iPad的方向返回未知值
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
拿到iPad的方向,但是當我使用OpenGL渲染返回UIDeviceOrientationUnknown。當我播放電影或顯示UIViews時,它會返回正確的值。你知道我怎麼才能得到正確的方向?我不想使用加速度計,因爲我想知道設備何時鎖定方向。
謝謝!
我用這個代碼:iPad的方向返回未知值
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
拿到iPad的方向,但是當我使用OpenGL渲染返回UIDeviceOrientationUnknown。當我播放電影或顯示UIViews時,它會返回正確的值。你知道我怎麼才能得到正確的方向?我不想使用加速度計,因爲我想知道設備何時鎖定方向。
謝謝!
如果我添加[的UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]。即使在OpenGL渲染模式下,方向也是正確的。有時會返回UIDeviceOrientationUnknown方向,但時間很短。
在某些情況下,加速度計無法準確讀取方向,例如設備保持平坦時。您應該仍然能夠使用來獲得當前的定位:
UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
你知道我怎樣才能得到鎖定方向按鈕的狀態? – Felics 2010-11-10 15:07:30
不要打擾鎖定方向按鈕。這不再是iOS 4.2的一項功能。 – 2010-11-10 15:13:09
@Evan:是的,它只是從硬件開關移動到軟件。從字面上閱讀iOS 4.2的任何評論。 – 2010-11-10 15:15:38