Swift 更改NSVisualEffectView的颜色

Swift 更改NSVisualEffectView的颜色,swift,cocoa,appkit,Swift,Cocoa,Appkit,我目前正在尝试更改NSVisualEffectView的色调。到目前为止,我得到的是: class MainViewController:NSViewController{ 重写func viewDidLoad(){ super.viewDidLoad() //创建彩色视图以着色视觉效果视图 让coloredView=NSView(frame:self.view.frame) coloredView.layer?.backgroundColor=NSColor(红色:1,绿色:0,蓝色:0,阿尔

我目前正在尝试更改NSVisualEffectView的色调。到目前为止,我得到的是:

class MainViewController:NSViewController{
重写func viewDidLoad(){
super.viewDidLoad()
//创建彩色视图以着色视觉效果视图
让coloredView=NSView(frame:self.view.frame)
coloredView.layer?.backgroundColor=NSColor(红色:1,绿色:0,蓝色:0,阿尔法:0.5)。cgColor
//为背景模糊创建视觉效果视图
让visualEffectView=NSVisualEffectView(框架:self.view.frame)
visualEffectView.addSubview(彩色视图)
//添加视觉效果视图
self.view.addSubview(visualEffectView,定位:NSWindow.OrderingMode.below,relativeTo:nil)
}
}
如你所见,我试图添加另一层,使视觉效果视图着色。然而,这并没有起作用


是否有可能更改NSVisualEffectView的颜色?

您不会更改“视觉效果”视图的颜色,因为它没有颜色。视觉效果视图根据视图的材质和混合模式混合背景和前景(子视图)。“背景”是指窗口内的视觉效果视图下的内容,或窗口后面的内容

在这些示例中,视觉效果视图中有一个蓝色的NSBox,而红色的NSBox中有一个

此视觉效果视图的混合模式为“隐藏”窗口。请注意,在“视觉效果”视图中,从窗口后面看到的绿色是混合背景。

此视觉效果视图的混合模式为“内”窗口。请注意,您会看到红色框,它是视觉效果视图的背景。

在这两种情况下,材料的外观都是“轻”的。不同的材料会有不同的外观

没有通用的方法可以通过视觉效果视图创建“模糊的彩色背景”。根据材质/混合模式的组合,它将以特定的方式使用,并且每种方式都有不同的外观