2017-05-05 88 views
2

我正在使用Swift 3中的macos應用程序,我希望使標題欄透明,並且不顯示我的應用程序的標題,所以基本上只是3個按鈕(關閉,縮小,全屏)在我的背景上。使窗口的標題欄完全透明

我想什麼是擺在第一個視圖控制器的viewDidLoad方法正在使用下列內容:

self.view.window?.styleMask.insert(NSWindowStyleMask.unifiedTitleAndToolbar) 
self.view.window?.styleMask.insert(NSWindowStyleMask.fullSizeContentView) 
self.view.window?.styleMask.insert(NSWindowStyleMask.titled) 
self.view.window?.toolbar?.isVisible = false 
self.view.window?.titleVisibility = .hidden 
self.view.window?.titlebarAppearsTransparent = true 

但我最終得到的是這樣的:

enter image description here

似乎標題欄的透明度較低,然後正常,但我希望它(和應用程序標題)完全消失。

我錯過了什麼,或者這是不可能的?

謝謝。

+0

https://github.com/lukakerr/NSWindowStyles –

回答

4

問題是,在viewDidLoad方法中,window屬性始終爲零。你的代碼中的所有可選鏈只是默默地失敗。你只需要將你的代碼移動到viewWillAppear方法。

override func viewWillAppear() { 
    super.viewWillAppear() 

    // configure your window properties here 
}