EAGLEView:旋转不会改变帧大小

时间:2013-09-09 09:29:23

标签: ios opengl-es

我正在制作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);

如何设置帧大小以使图像正确显示(水平)?

1 个答案:

答案 0 :(得分:1)

解决!

解决方案是设置UIView autoresizingMask属性

[self setAutoresizingMask: UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];

Thanx-Djan的Thanx!