0

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

有没有办法做到这一点?

在此处输入图像描述

4

2 回答 2

4

迅捷之路

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

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

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

如此简单。

于 2016-04-17T06:55:05.107 回答
3

是的,它已经在这里完成了:

如何在 OSX 中更改 NSWindow 标题栏的颜色

他们说这里的单链接答案是不好的形式,但见鬼——它主要是你所问的。它有效——我自己试过了。

需要注意的几件事:他的代码只适用于 NSApp 的默认窗口......所以你需要做一些工作来将它推广到你的 /“任何”NSWindow 的情况。(把他放在 AppDelegate 中的代码移到你自己的 NSWindow 子类或你的 NSWindowController 中。可能是控制器。)

另外,他说用“MyTitleView”子类化NSView,但在代码中,它实际上被称为“BlackTitlebarView”......只需选择一个名称,保持一致,就可以了。此外,标题文本的颜色在 drawString: 方法中,其中他有 [NSColor whiteColor]。此外,他喜欢渐变,当您运行代码时您会看到...但是您可能会考虑使用花哨的东西,因为您是免费获得的。

于 2015-03-29T01:17:31.203 回答