2011-07-21 104 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