NSVutualEffectView上的NSButton:错误的背景颜色

时间:2015-06-05 06:04:07

标签: objective-c swift nsview nsbutton nsvisualeffectview

我在为 10.10 开发的 NSPopover 中有 NSVisualEffectView

当继承 NSVisualEffectView 以悬停背景颜色效果时,无边框按钮颜色似乎不同

gray box

我尝试将按钮单元格的backgroundColor设置为clearColor,或者与我在 NSVisualEffectView drawRect:中使用的相同,前者出错颜色(未填充蓝色)和后者仍然相同,颜色错误。 (边框周围的灰色框)。

CALayer可以解决此问题,但有没有办法不使用它?

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

经过多次反复试验,这对我有用:

button.wantsLayer = true
button.layer?.backgroundColor = NSColor.clearColor().CGColor

我有一个带有NSVisualEffectView风格的NSTableView。我创建了一个自定义的NSTableViewCell类,并将这些行放在drawRect方法中。

答案 1 :(得分:0)

它已经开放了很长时间,但是我自己需要答案,也许其他人很乐意在这里找到答案,答案仅适用于Mac OS 10.14及更高版本

button.contentTintColor = .white

通过将contetTintColor设置为您可能需要的任何颜色,由于某种原因会删除背景色。