swift cocoa interface-builder osx-yosemite titlebar

Xcode y Swift-Ventana sin barra de título pero con botones de cerrar, minimizar y redimensionar



cocoa interface-builder (6)

No tengo suficiente reputación para comentar la respuesta de Ranfei Songs, pero ejecutar en OSX 10.12 la sintaxis para el títuloVisibility es ligeramente diferente, en lugar de esto:

self.window.titleVisibility = NSWindowTitleVisibility.Hidden;

necesitarás usar NSWindowTitleHidden en su lugar, por lo que actualizar el código de Ranfei implicará que debes especificarlo así:

self.window.titleVisibility = NSWindowTitleHidden; self.window.titlebarAppearsTransparent = YES; self.window.styleMask |= NSFullSizeContentViewWindowMask;

Actualmente estoy usando Swift en Xcode 6, Beta 5. Estoy tratando de eliminar la barra de título, o cualquier diferencia visible entre la barra de título y el contenido real. Si habilito "Título y barra de herramientas unificados" en el Inspector de atributos en una ventana, no ocurre nada visible. Ya he dejado el título.
Cuando no se ingresa un título, la barra de título seguirá siendo distinguible debido a la línea de borde y la diferencia de fondo con el resto de la ventana, separándola del contenido real.


Un excelente ejemplo sería la aplicación actual Yosemite, OS X 10.10, Notes. No hay barra de título visible o distinguible, solo los botones Cerrar, Minimizar y Redimensionar como se ve aquí.

He buscado y visitado otras publicaciones, pero no por poco.
Aquellos que mencionaron ocultar la barra de título por completo, pero no sabría cómo volver a agregar manualmente los botones Cerrar, Minimizar y Redimensionar, lo que significa que se verían correctamente, sin reemplazos de imágenes reales y furtivas y conexiones con la barra de menú Cerrar, Minimizar y cambiar el tamaño de las funciones.


Para 10.10+, puede usar estos:

window.titlebarAppearsTransparent = true window.movableByWindowBackground = true

Hubo un proyecto de muestra oficial para la aparición de ventanas en Yosemite. Tal vez quieras echarle un vistazo.


Para Swift 3: -

self.window.titleVisibility = .hidden self.window.titlebarAppearsTransparent = true self.window.styleMask.insert(.fullSizeContentView)


Puedes usar estos:

override func viewDidAppear() { super.viewDidAppear() self.view.window?.titlebarAppearsTransparent = true self.view.window?.movableByWindowBackground = true }


Actualización de septiembre de 2017, taget 10.11:

override func viewDidAppear() { super.viewDidAppear() self.view.window?.titleVisibility = .hidden self.view.window?.titlebarAppearsTransparent = true self.view.window?.styleMask.insert(.fullSizeContentView) }


La nueva máscara de estilo de ventana NSFullSizeContentViewWindowMask agregada en OS X 10.10 hará el truco.

self.window.titleVisibility = NSWindowTitleVisibility.Hidden; self.window.titlebarAppearsTransparent = YES; self.window.styleMask |= NSFullSizeContentViewWindowMask;

Notas de lanzamiento