更改标题栏颜色 - Mac

Change title bar colour - Mac

我正在开发 Mac 应用程序。我在想是否可以在 NSWindow 中更改标题栏颜色?我知道如何删除它,但问题是它也删除了三个按钮(关闭、最小化、调整大小)。我想保留三个按钮,但摆脱酒吧。

有办法吗?

是的,已在 SO 上完成:

How to Change Color of NSWindow Title Bar in OSX

他们说 one-link 此处的答案形式不佳,但见鬼——它主要满足您的要求。并且有效——我自己已经尝试过了。

需要注意的几件事:他的代码仅适用于 NSApp 的默认 window...因此您需要做一些工作以将其推广到您的 / "any" NSWindow。 (将他放入 AppDelegate 的代码移至您自己的 NSWindow 子类或您的 NSWindowController。可能是控制器。)

还有,他说用"MyTitleView"子类化NSView,但是在代码里,其实叫"BlackTitlebarView"……随便取一个名字,保持一致就好了。还有,标题文字的颜色在drawString:方法里,他有[NSColor whiteColor]。此外,他喜欢渐变,当你 运行 代码时你会看到...如果你不需要或不想要它,你可以用更简单的东西替换他的代码块,只绘制一个颜色...但您可能会考虑使用这些花哨的东西,因为您可以免费获得它。

Swift 方式

我有点疯狂地试图找到这个,简直不敢相信当我读到的所有这些答案都这么长的时候只有两行!

我是我的 class ViewController 我去了 viewDidAppear 并将其添加到其中。

override func viewDidAppear() {
        view.window?.titlebarAppearsTransparent = true
        view.window?.backgroundColor = NSColor.clearColor()
    }

非常简单。