我使用以下代码:
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
来获取iPad方向,但当我使用OpenGL呈现时,它返回UIDeviceOrientationUnknown。当我播放电影或显示UIViews时,它会返回正确的值。你知道我怎样才能获得正确的方向吗?我不想使用加速度计,因为我想知道设备何时锁定方向。
谢谢!
发布于 2010-11-11 18:42:42
如果我添加[UIDevice currentDevice beginGeneratingDeviceOrientationNotifications];],即使在OpenGL渲染模式下,方向也是正确的。有时会返回UIDeviceOrientationUnknown方向,但返回的时间很短。
发布于 2010-11-10 23:14:25
有些情况下,加速度计无法获得准确的方向读数,例如当设备保持平坦时。您应该仍然可以使用以下命令获取当前方向:
UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
发布于 2020-05-20 11:30:13
在iOS 13中,statusBarOrientation
已被弃用。获取此方向的新首选方法是
let orientation = UIApplication.shared.windows.first?.windowScene?.interfaceOrientation
https://stackoverflow.com/questions/4145832
复制相似问题