/ osx

Translucent OSX Titlebar in Swift

Um eine transparente Titelleiste in OSX-Programmen zu bekommen, ist in der applicationDidFinishLaunching-Methode, zu finden in der AppDelegate.swift, folgender Code einzufügen:

    func applicationDidFinishLaunching(aNotification: NSNotification) {
        // Insert code here to initialize your application

        //make titlebar transparent
        let application = NSApplication.sharedApplication()
        for window in application.windows{
            if let w = window as NSWindow?{
                w.makeKeyAndOrderFront(self)
                w.titleVisibility = NSWindowTitleVisibility.Hidden
                w.titlebarAppearsTransparent = true
                w.movableByWindowBackground  = true
            }
        }
    }

Zusätzlich dazu empfiehlt es sich, im Attributesinspector des Windows (nicht dem ViewController!) den Haken bei Full Size Content View zu setzen.

Wie im Screenshot zu sehen, lohnt es sich den View (hier ein Table View) in einen Visual Effect View einzubetten.
Damit dieser dann auch transparent wird muss noch Alterning Rows deaktiviert werden