0

我正在以编程方式调整包含NSOpenGLView的NSWindow的大小。窗口调整大小, NSOpenGLView 正在处理调整大小,但 NSWindow 的标题栏变为完全白色。但是可以单击按钮(最小化,...),但您也看不到它们。

使用 Windows 控制器中的以下代码调整大小。该方法在主线程上调用。

-(void)setHeightAndWithToWindow:(NSArray*)heightWidth{
    int width = [(NSNumber*)[heightWidth objectAtIndex:0] intValue];
    int height = [(NSNumber*)[heightWidth objectAtIndex:1] intValue];
    NSRect rect = NSMakeRect(0, 0, width ,height);
    if([window frame].size.height != (rect.size.height - [self titleBarHeight]) ||
        [window frame].size.width != rect.size.width){ 
        [window setFrame:rect display:false animate:true];
    }
}

可能是什么原因,标题栏变成白色并且不再绘制自己?你能告诉标题栏把自己画出来作为一种解决方法吗?

谢谢

4

1 回答 1

0

听起来你让你的 OpenGLView 太大了。当你发送[self titleBarHeight]时,是什么self?此代码是在窗口子类中还是在其他什么地方?

于 2010-08-08T06:43:06.793 回答