gpt4 book ai didi

objective-c - NSOpenGLView 在窗口调整大小时调整大小

转载 作者:搜寻专家 更新时间:2023-10-30 20:27:34 27 4
gpt4 key购买 nike

我有一个名为 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 的新手,所以非常感谢您的帮助

最佳答案

每个 View 都有一个窗口属性,因此 [self window] 将获取窗口,而 [[[self window] contentView] bounds].size.width 将给出宽度,尽管您可以使用 [[self superview] bounds].size.width

直接到达 contentView

关于objective-c - NSOpenGLView 在窗口调整大小时调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2440089/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com