gpt4 book ai didi

swift - 更改 NSVisualEffectView 的颜色

转载 作者:行者123 更新时间:2023-12-03 17:46:19 30 4
gpt4 key购买 nike

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

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)

}
}

如您所见,我尝试添加另一个图层来为视觉效果 View 着色。然而这没有用。

我有机会改变 NSVisualEffectView 的颜色吗?

最佳答案

您不能更改视觉效果 View “的”颜色,因为它没有颜色。视觉效果 View 根据 View 的 Material 和混合模式混合背景和前景( subview )。 “背景”可以是窗口内视觉效果 View 下方的内容,也可以是窗口后面的内容。

在这些示例中,视觉效果 View 中有一个蓝色 NSBox,而该视觉效果 View 又位于一个红色 NSBox 内。

此视觉效果 View 的混合模式位于窗口“后面”。请注意,您会看到窗口后面的绿色是视觉效果 View 中的混合背景。 Behind

该视觉效果 View 的混合模式是“在”窗口内。请注意,您看到的红色框是视觉效果 View 的背景。 Within

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

没有通用的方法可以通过视觉效果 View 创建“模糊的彩色背景”。它旨在根据 Material /混合模式组合以某些方式使用,并且每种方式都有不同的外观。

关于swift - 更改 NSVisualEffectView 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59397083/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com