【发布时间】:2015-03-09 18:19:20
【问题描述】:
我正在开发 OpenGL ES 游戏、c++ 和 iOS。我希望画布轴始终保持默认的纵向方向,并且能够知道哪个是初始设备方向以及所有方向变化。
我遇到的问题是,如果我将 XCode 项目配置为支持 4 个方向:2 个纵向和 2 个横向,那么嵌入 OpenGL 画布的框架具有取决于初始方向的轴。如果我将项目配置为仅支持纵向,则应用程序不会告诉我它是否处于横向。
我想找到一种尽可能以编程方式完成此操作的方法。
【问题讨论】:
我正在开发 OpenGL ES 游戏、c++ 和 iOS。我希望画布轴始终保持默认的纵向方向,并且能够知道哪个是初始设备方向以及所有方向变化。
我遇到的问题是,如果我将 XCode 项目配置为支持 4 个方向:2 个纵向和 2 个横向,那么嵌入 OpenGL 画布的框架具有取决于初始方向的轴。如果我将项目配置为仅支持纵向,则应用程序不会告诉我它是否处于横向。
我想找到一种尽可能以编程方式完成此操作的方法。
【问题讨论】:
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 中限制其他方向
【讨论】: