我现在有与所述窗口大小上开口设定为480 * 560的Mac应用程序,该窗口内有一个NSOpenGLView
,在重塑功能此我有以下:调整大小的NSView/NSOpenGLView上窗口调整大小
NSLog(@"Reshaping");
float screenWidth = (float)[_window frame].size.width;
float screenHeight = (float)[_window frame].size.height;
glLoadIdentity();
glViewport(0,0,screenWidth,screenHeight);
glMatrixMode(GL_PROJECTION);
glOrtho(-10, 110, -10, 110, -1, 1);
这一切似乎从图像拉伸等OpenGL方面正常工作,但是当我使窗口比它原来更大时,OpenGL视图似乎并不想改变(但其中的OpenGL)。我打印以下值了,看看有什么是错的:
NSLog(@"width 1:",[_window frame].size.width);
NSLog(@"width 2:",[self bounds].size.width);
NSLog(@"width 3:",[[self superview] bounds].size.width);
和改变只有一个是第一位的,可以另外两个手动更新(我试着将它们设置为窗框值,但这些都是只读..)或我在这里错过了什么?
如果您使用的是nib文件,则只能使用此方法;我不是为了这个项目! –