2011-07-21 5 views

Respuesta

2

No creo que se puede ir en la parte superior de la barra de menú, pero se puede establecer la barra de menú para ocultar automáticamente cuando la aplicación es la aplicación en primer plano llamando

[[NSApplication sharedApplication] setPresentationOptions: NSApplicationPresentationAutoHideMenuBar]; 

¿Qué le debe permitir use el espacio normalmente utilizado para la barra de menú en su aplicación.

13

Sí, trivialmente:

window.level = NSMainMenuWindowLevel + 1; 

(Referencia:. Drawing to the Full Screen, OpenGL Guía de programación para Mac OS X)

sebastianmarkow es correcto en que este es un comportamiento terrible para una ventana normal de documentos, pero hay varios tipos de ventana para los que esto es normal: cursores, sugerencias de herramientas y utilidades especiales como Xscope.

+2

Aún así no va más Barra de menús. – mxg

+0

Por favor, aclare. Una ventana con ese nivel de ventana _hace_ el pedido en la parte superior de la barra de menú, pero AppKit no le permitirá colocar una ventana con título superpuesto a la barra de menú (excepto en algunas situaciones de pantalla múltiple muy extrañas). Si quieres hacer esto con una ventana de estilo de documento, bueno, no tienes suerte, hasta donde yo sé. –

3

Me gustó la respuesta de Jens Ayton, pero en lugar de elegir un número arbitrario como ese, creo que sería preferible que use una de las constantes definidas.

Personalmente, he utilizado NSPopUpMenuWindowLevel como en:

self.window.level = NSPopUpMenuWindowLevel; 

Otras constantes que es posible que prefiera, a partir de mi fijación esta respuesta, incluyen:

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

Aquí está la referencia (Apple tiene una tendencia a cambiar su modo de organizar sus documentos y se rompen estos enlaces en los últimos años, pero las API no cambian mucho, por lo que incluí esa lista más arriba. Dudo este enlace funcionará en 3 años más o menos, pero estas constantes probablemente no va a cambiar mucho en los próximos 20 años.)

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

+0

Sorprendentemente, han pasado casi 4 años desde que publiqué esta respuesta y el enlace aún funciona. Tal vez Apple cambió sus formas y dejó de reorganizar las cosas y romper los enlaces, finalmente ... – ArtOfWarfare

Cuestiones relacionadas