NSOpenGLView の上に NSView を表示しています。「setWantsLayer:YES」を使用して、NSView を強制的に opengl コンテキストに表示させています。しかし、ウィンドウを最小化して再度最小化すると、NSView は NSOpenGLView の上になくなります。
この動作を防ぐ方法はありますか?
NSOpenGLView の上に NSView を表示しています。「setWantsLayer:YES」を使用して、NSView を強制的に opengl コンテキストに表示させています。しかし、ウィンドウを最小化して再度最小化すると、NSView は NSOpenGLView の上になくなります。
この動作を防ぐ方法はありますか?
わかりました、この問題の解決策を見つけました。おそらく最高ではありませんが、問題を解決します。
まず、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 の前に表示されます。