iOS 使用加速度计获取初始设备方向
iOS Getting initial device orientation with accelerometer
我正在开发 OpenGL ES 游戏,c++ 和 iOS。我希望 canvas 轴始终保持默认纵向方向,并且还能够知道哪个是初始设备方向和所有方向变化。
我遇到的问题是,如果我将 XCode 项目配置为支持 4 个方向:2 个纵向和 2 个横向,那么嵌入 OpenGL canvas 的框架的轴取决于最初的方向。如果我将项目配置为仅支持纵向,则应用程序不会告诉我它是否处于横向。
我想找到一种尽可能以编程方式完成此操作的方法。
1) 在 iOS
中以编程方式了解
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
if(orientation == UIDeviceOrientationLandscapeLeft)
landscapeRight = false;
else if(orientation == UIDeviceOrientationLandscapeRight)
else if(orientation == UIDeviceOrientationPortraitUpsideDown)
else if(orientation == UIDeviceOrientationPortrait)
....
2) 对于默认纵向视图
在您的 Xcode 项目的 info.plist
中限制其他方向
我正在开发 OpenGL ES 游戏,c++ 和 iOS。我希望 canvas 轴始终保持默认纵向方向,并且还能够知道哪个是初始设备方向和所有方向变化。
我遇到的问题是,如果我将 XCode 项目配置为支持 4 个方向:2 个纵向和 2 个横向,那么嵌入 OpenGL canvas 的框架的轴取决于最初的方向。如果我将项目配置为仅支持纵向,则应用程序不会告诉我它是否处于横向。
我想找到一种尽可能以编程方式完成此操作的方法。
1) 在 iOS
中以编程方式了解 UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
if(orientation == UIDeviceOrientationLandscapeLeft)
landscapeRight = false;
else if(orientation == UIDeviceOrientationLandscapeRight)
else if(orientation == UIDeviceOrientationPortraitUpsideDown)
else if(orientation == UIDeviceOrientationPortrait)
....
2) 对于默认纵向视图
在您的 Xcode 项目的 info.plist
中限制其他方向