如何将标题栏/工具栏和NSButtons更改为黑暗主题?

时间:2017-05-17 20:01:34

标签: swift macos cocoa themes nswindow

我正在开发一个macOS(OS X)项目,我希望将窗口设置为黑暗主题,而不是默认的灯光主题,它有一个带有白色按钮的浅灰色标题栏/工具栏。

如何将标题栏/工具栏更改为黑色,将按钮更改为深灰色?

我在Swift中编码,但Objective-C中的答案也会有所帮助。我附上了一张我想要的图像:

What I want it to look like

2 个答案:

答案 0 :(得分:4)

好吧,我找到了解决方案。

要将WindowController更改为黑暗主题,请在windowDidLoad()函数中键入以下代码:

window?.appearance = NSAppearance(named: NSAppearanceNameVibrantDark)

这使得标题栏/工具栏为黑色,按钮为深灰色。

另外,要将标题栏和工具栏统一为一个,如上图所示,请在windowDidLoad()函数中键入以下代码中的此代码:

window?.titleVisibility = .hidden

以下是应用程序运行时窗口的图像:Dark Theme Window

我希望这能帮助那些想知道如何做到这一点的人。

答案 1 :(得分:1)

要从ViewController内部调用它,而不是窗口的直接插座:

override func viewDidAppear() {
    super.viewDidAppear()
    self.view.window?.appearance = NSAppearance(named: NSAppearance.Name.vibrantDark)
}

请注意,您必须从viewDidAppear()而不是viewDidLoad()调用,因为窗口仍然是nil。

编辑:更新了Swift 4