是否可以为在全屏模式下运行的Cocoa应用程序添加HUD覆盖?
我切换到全屏模式,如下所示。
// An NSView.
[self enterFullScreenMode:m_screen withOptions:nil];HUD覆盖图的类型为NSPanel,并且是上述视图的成员。为了显示HUD面板,我运行以下代码行。
[m_hudPanel setFloatingPanel:YES];
[m_hudPanel orderFront:self];
[m_hudPanel orderWindow:NSWindowAbove relativeTo:[[self window] windowNumber]];
[m_hudPanel makeKeyAndOrderFront:self];
[m_hudPanel makeFirstResponder:self];不过,直到我离开全屏模式,面板才会出现。
发布于 2011-05-18 09:47:51
您必须增加窗口级别。我不知道-enterFullScreenMode:withOptions --但是使用CoreGraphics fullscreen API,我们是这样做的:
int level = CGShieldingWindowLevel();
[m_hudPanel setLevel:level];或者我忘了,也许你不得不使用level + 1。重点是,窗口首先按级别组织,然后在每个级别内进行组织。将窗移动到前面时,它仅移动到其标高的前面。这样,背景、菜单栏、停靠和屏幕保护程序就停留在它们应该在的地方(它们只是一些特殊类型的窗口)。
https://stackoverflow.com/questions/6034675
复制相似问题