我正在制作OpenGL游戏,并希望同时支持纵向和横向。 我编写了所有必要的代码以支持自动旋转,并希望通过
通知我的游戏有关视口大小的变化[[NSNotificationCenter defaultCenter] addObserver: self selector:
@selector(orientationChanged:)
name: UIDeviceOrientationDidChangeNotification
object: nil];
旋转正常,但问题是图像仍然垂直渲染!我通过调用layoutSubviews
重新生成帧缓冲区。但是这些代码返回垂直方向
int width, height;
glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES
, GL_RENDERBUFFER_WIDTH_OES, &width);
glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES
, GL_RENDERBUFFER_HEIGHT_OES, &height);
如何设置帧大小以使图像正确显示(水平)?
答案 0 :(得分:1)
解决!
解决方案是设置UIView autoresizingMask属性
[self setAutoresizingMask: UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];
Thanx-Djan的Thanx!