我有一个名为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类中,我有一个reshape函数,每次窗口调整大小时都会触发
- (void)reshape
{
[super setNeedsDisplay:YES];
[[self openGLContext] update];
NSLog(@"reshap function called");
}
我想得到主窗口宽度,所以我可以调整ModelView的大小,但我无法找到如何从ModelView类获取窗口宽度
我对cocoa / objective-c相当新,所以感谢任何帮助
答案 0 :(得分:1)
每个视图都有一个窗口属性,因此[self window]
将获取窗口,[[[self window] contentView] bounds].size.width
将给出宽度,但您可以使用[[self superview] bounds].size.width