首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >改变NSVisualEffectView颜色

改变NSVisualEffectView颜色
EN

Stack Overflow用户
提问于 2019-12-18 17:13:36
回答 1查看 601关注 0票数 0

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

代码语言:javascript
复制
class MainViewViewController: NSViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // create a colored view to tint the visual effect view
        let coloredView = NSView(frame: self.view.frame)
        coloredView.layer?.backgroundColor = NSColor(red: 1, green: 0, blue: 0, alpha: 0.5).cgColor

        // create the visual effect view for the background blur
        let visualEffectView = NSVisualEffectView(frame: self.view.frame)
        visualEffectView.addSubview(coloredView)
        // add the visual effect view
        self.view.addSubview(visualEffectView, positioned: NSWindow.OrderingMode.below, relativeTo: nil)

    }
}

如您所见,我尝试添加另一个图层,以着色视觉效果视图。不过,这不管用。

我有可能改变NSVisualEffectView的颜色吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-31 01:34:42

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

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

这个视觉效果视图的混合模式是“后面”窗口。请注意,您从窗口后面看到绿色作为视觉效果视图中的混合背景。

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

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

没有一般的方式有“模糊的彩色背景”创建的视觉效果视图。它是打算使用某些方式,基于材料/混合模式组合,每一个将有不同的外观。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59397083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档