Objective c NSOpenGLView在窗口调整大小时调整大小

Objective c NSOpenGLView在窗口调整大小时调整大小,objective-c,cocoa,opengl,Objective C,Cocoa,Opengl,我有一个名为ModelView的类,它继承自NSOpenGLView。 当我的程序运行时,我将ModelView附加到主窗口,如下所示 - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { // Insert code here to initialize your application ModelView *glView; NSRect glViewRect = CGRect

我有一个名为ModelView的类,它继承自NSOpenGLView。 当我的程序运行时,我将ModelView附加到主窗口,如下所示

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    // Insert code here to initialize your application 
    ModelView *glView; 
    NSRect glViewRect = CGRectMake(0.0f, 0.0f, window.frame.size.width, window.frame.size.height);
    glView = [[ModelView alloc] initWithFrame: glViewRect];
    [[window contentView] addSubview:glView];           
}
在ModelView类中,我有一个重塑函数,它在每次调整窗口大小时都会触发

- (void)reshape
{
    [super setNeedsDisplay:YES];
    [[self openGLContext] update];  
    NSLog(@"reshap function called");
}
我想获取主窗口宽度,以便调整ModelView的大小,但我找不到如何从ModelView类获取窗口宽度


我对cocoa/objective-c相当陌生,因此非常感谢任何帮助

每个视图都有一个窗口属性,因此
[self window]
将获得窗口,而
[[self window]contentView]bounds.size.width
将提供宽度,尽管您可以使用
[[self superview]bounds直接访问contentView].size.width

谢谢[[self parentView]界限].size.width给了我一个警告ModelView可能不会响应'-parentView',而[[self window]contentView]界限].size.width返回0。我做错了什么??