2010-03-13 328 views
3

我有一個叫做ModelView的類,它繼承自NSOpenGLView。 當我的程序運行時,我將ModelView附加到主窗口中。NSOpenGLView調整窗口大小

- (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];   
} 

在我的模型視圖類我有被解僱每次調整窗口大小時的重塑功能

- (void)reshape 
{ 
    [super setNeedsDisplay:YES]; 
    [[self openGLContext] update]; 
    NSLog(@"reshap function called"); 
} 

我想在主窗口的寬度,所以我可以調整模型視圖但我不能找到如何從模型視圖類獲得窗口寬度

我有理由新的可可/ Objective-C的所以任何幫助表示讚賞

回答

1

每個視圖有一個窗口屬性,因此[self window]將得到窗口,[[[self window] contentView] bounds].size.width會給寬度,雖然你可以直接使用[[self superview] bounds].size.width

+0

由於獲取到內容查看但是[自parentView]界限] .size.width給我一個警告模型視圖可能不響應'-parentView'和[[[self window] contentView]邊界] .size.width返回0。我究竟做錯了什麼 ?? – ADAM 2010-03-13 22:35:24

+0

@ADAM啊,忘了它是superview,編輯過。 – cobbal 2010-03-14 05:22:12