Según @ la respuesta de Ross:
NSApplication.sharedApplication().mainMenu?.menuBarHeight
Desafortunadamente, esto volverá nil
antes de la aplicación termina lanzamiento (porque el mainMenu
habrá nil
). Si necesita este valor antes de lo que (y no desea que adivinar para las futuras versiones del sistema operativo), se puede calcular así:
if let screen = NSScreen.mainScreen() {
let menuBarHeight = screen.frame.height - screen.visibleFrame.height - screen.visibleFrame.origin.y - 1
}
Este número no será sólo es correcta si hay alguna muebles de pantalla adicionales (como el Dock, por ejemplo) fijados desde la parte superior, lo que parece extremadamente improbable.
Actualización: Para soportar múltiples pantallas (primarios y secundarios):
let appleMenuBarHeight = screen.frame.height - screen.visibleFrame.height - (screen.visibleFrame.origin.y - screen.frame.origin.y) - 1
que leí 22 píxeles, pero no estoy seguro acerca de la fiabilidad – Samuel
Trate de tomar una captura de pantalla y la medición de la altura en Photoshop o algún otro manipulador gráfico software, no? – jeanreis
Por supuesto * dow * gracias - ha sido un día largo: P – Samuel