这是我的问题:
我在 Storyboard中有一个带纹理的 NSWindow:
但它在窗口的顶部边缘有突出显示:
我不喜欢窗口顶部边缘的高亮显示。如何删除此突出显示或至少用相同的背景颜色替换它?
注意:计算器的应用程序窗口没有高亮显示(或者非常微妙),而其他应用程序有。看:
我更喜欢获得与计算器应用程序相同的结果。
P.S.: 我在我的 ViewController 中设置了窗口的背景颜色:
// BlueColor: NSColor
view.window?.backgroundColor = BlueColor
最佳答案
当您设置带纹理的背景 mask 时,高光由窗口的主题框架绘制。 (您可以通过 Xcode 中的可视化 View 调试对此进行调查)。
要实现平面窗框(没有高亮显示),您必须:
- 关闭“纹理化”标志
- 设置
NSFullSizeContentViewWindowMask
样式掩码(下一步需要) - 将
NSWindow 的 titlebarAppearsTransparent
设置为 true
您可以将以下内容添加到设置窗口背景颜色的部分:
self.view.window?.backgroundColor = NSColor.blueColor()
self.view.window?.titlebarAppearsTransparent = true
let existingStyleMask = self.view.window!.styleMask
self.view.window?.styleMask = existingStyleMask|NSFullSizeContentViewWindowMask
关于swift - 如何从带纹理的 NSWindow 中删除高光?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33424126/