我正在开发一个 Mac 应用程序。如果可以更改 NSWindow 中的标题栏颜色,我正在徘徊?我知道如何删除它,但问题是它也删除了三个按钮(关闭、最小化、调整大小)。我想保留三个按钮但摆脱栏。
有没有办法做到这一点?
我正在开发一个 Mac 应用程序。如果可以更改 NSWindow 中的标题栏颜色,我正在徘徊?我知道如何删除它,但问题是它也删除了三个按钮(关闭、最小化、调整大小)。我想保留三个按钮但摆脱栏。
有没有办法做到这一点?
迅捷之路
我试图找到这个有点疯狂,当我发现我正在阅读的所有这些答案这么长时,我简直不敢相信只有两行!
我class ViewController
我去了 viewDidAppear 并将其添加到其中。
override func viewDidAppear() {
view.window?.titlebarAppearsTransparent = true
view.window?.backgroundColor = NSColor.clearColor()
}
如此简单。
是的,它已经在这里完成了:
他们说这里的单链接答案是不好的形式,但见鬼——它主要是你所问的。它有效——我自己试过了。
需要注意的几件事:他的代码只适用于 NSApp 的默认窗口......所以你需要做一些工作来将它推广到你的 /“任何”NSWindow 的情况。(把他放在 AppDelegate 中的代码移到你自己的 NSWindow 子类或你的 NSWindowController 中。可能是控制器。)
另外,他说用“MyTitleView”子类化NSView,但在代码中,它实际上被称为“BlackTitlebarView”......只需选择一个名称,保持一致,就可以了。此外,标题文本的颜色在 drawString: 方法中,其中他有 [NSColor whiteColor]。此外,他喜欢渐变,当您运行代码时您会看到...但是您可能会考虑使用花哨的东西,因为您是免费获得的。