我试图重新创建与FaceTime相同的外观。 左手表视图有一个NSVisualEffectView在窗口混合中做了一些与它坐在它上面的NSTableView,或者我假设......
我已经能够通过使我的scrollview,Tableview和RowView透明而且所有看起来都很棒来实现这一点,我的问题是虽然我希望每个行项目中的文本能够对视觉外观做出反应视觉效果观。
我已尝试设置每个视图(NSTableView,NSScrollView等)以允许Vibrancy,但我的颜色(如LabelColor)不会对坐在后面的视觉效果视图做出反应......
有人有过这方面的成功吗?
答案 0 :(得分:0)
所以经过多次游戏后我觉得我已经取得了一些成功。
我必须解决的两个问题是:
幸运的是,我还是想要使用自定义按钮,因此不需要担心材质方面,但是在选中时,我会使用Light NSVisualEffectView进行突出显示。我发现有数百个效果视图可能不是最好的,所以我想在选择时我需要在我的行和我的单元格之间绘制一个......但事实证明我设法找到了一种更简单的技术,在我的行视图上绘制透明的白色填充:
在我已经子类化的TableRowView类中:
override func drawSelectionInRect(dirtyRect: NSRect) {
let color = NSColor(white: 1, alpha: 0.6)
color.setFill()
NSRectFill(dirtyRect);
}