我在NSOpenGLView上显示了一个NSView。我正在使用' setWantsLayer:YES'强制NSView出现在opengl上下文中。但是当我最小化窗口并再次将其最小化时,NSView就不再是NSOpenGLView了。
有没有办法防止这种行为?
答案 0 :(得分:2)
好的,我找到了解决这个问题的方法。不是最好的,但解决了这个问题。
首先,我在appDelegate类中声明了一个通知程序:
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(windowDidDeminiaturize:)
name:NSWindowDidDeminiaturizeNotification object:nil];
此通知程序检测到窗口最小化事件。然后,在回调函数中,我这样做:
- (void)windowDidDeminiaturize:(NSNotification *)notification
{
[view_PlaybackView setWantsLayer:NO];
[view_PlaybackView setWantsLayer:YES];
}
视图再次显示在NSOpenGLView前面。