macosswifttitlebarnsvisualeffectview

Make Title Bar and View Controller seamless with Dark Transparency


Hi so iv been looking all over the internet and have found all kinds of useful information on this topic but none seems to be working

if trying to get something like this enter image description here

where the title bar and the rest of the window blend. From the internet the code iv got so far is in my viewDidLoad()

    self.view.window?.appearance = NSAppearance(named: NSAppearanceNameVibrantDark)
    self.view.window?.styleMask = (self.view.window?.styleMask)! | NSFullSizeContentViewWindowMask
    self.view.window?.titlebarAppearsTransparent = true
    self.view.window?.movableByWindowBackground = true

but that isnt doing anything. Im new to Mac development (normally ios) so all help is appreciated thanks!


Solution

  • Make subclass of NSWindowController and put your code in windowDidLoad().

    override func windowDidLoad() {
        super.windowDidLoad()
    
        // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
        self.window?.appearance = NSAppearance(named: NSAppearanceNameVibrantDark)
        self.window?.styleMask = (self.window?.styleMask)! | NSFullSizeContentViewWindowMask
        self.window?.titlebarAppearsTransparent = true
        self.window?.movableByWindowBackground = true
    }