我現在有與所述窗口大小上開口設定爲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文件,則只能使用此方法;我不是爲了這個項目! –