2011-07-21 125 views

回答

2

我不相信,你可以去菜单栏的顶部,但是当你的应用程序是最前面的应用程序通过调用

[[NSApplication sharedApplication] setPresentationOptions: NSApplicationPresentationAutoHideMenuBar]; 

这应该让你可以设置菜单栏自动隐藏使用您的应用程序中通常用于菜单栏的空间。

13

是的,平凡:

window.level = NSMainMenuWindowLevel + 1; 

(参考:Drawing to the Full Screen为Mac OS X的OpenGL编程指南)

sebastianmarkow是在正确的,这是一个正常的文档窗口可怕的行为,但有几种常见的窗口类型:游标,工具提示和Xscope等特殊工具。

+2

还是没过菜单栏。 – mxg

+0

请澄清。与菜单栏的顶部是窗口级别_does_秩序的窗口,但了AppKit不会让你定位一个名为窗口重叠菜单栏(除了一些非常奇怪的多个屏幕的情况下)。如果你想用文档式窗口来做到这一点,那么就我所知,你运气不好。 –

3

我喜欢的Jens艾顿的回答,但不是挑这样的任意数字,我认为这将是首选您使用定义的常量之一。

就个人而言,我以前NSPopUpMenuWindowLevel为:

self.window.level = NSPopUpMenuWindowLevel; 

,你可能更喜欢,因为我发布这个答案的其他常量,包括:

  • NSNormalWindowLevel
  • NSFloatingWindowLevel
  • NSSubmenuWindowLevel
  • NSNormalWindowLevel
  • NSMainMenuWindowLevel
  • NSStatusWindowLevel
  • NSModalPaneWindowLevel
  • NSPopUpMenuWindowLevel
  • NSScreenSaverWindowLevel

下面是引用(苹果有可能改变他们如何安排自己的文档,并打破多年来这些链接的倾向,但API并没有太大的改变,这就是为什么我在上面列出了这个列表。我怀疑这个链接将在3年左右的工作,但这些常量可能不会在未来20年变化不大。)

https://developer.apple.com/library/mac/documentation/cocoa/reference/applicationkit/classes/NSWindow_Class/Reference/Reference.html#//apple_ref/doc/constant_group/Window_Levels

+0

出人意料的是,它已经近4年来,因为我张贴了这个答案,链接仍然有效。也许苹果改变了他们的方式,终于重新安排了事情并终止了联系...... – ArtOfWarfare