我正在开发一个使用NSVisualEffectView来实现透明度的macOS应用程序。我想达到类似于iOS'的效果。 Cover Sheet小部件视图。请注意,当您向上滚动时,内容会在搜索栏周围显示模糊。我想在macOS应用程序中执行此操作,以便当表视图中的内容在某个点下滚动时,NSVisualEffectView会模糊它。我该怎么做?提前谢谢。
答案 0 :(得分:1)
创建一个Visual Effect View实例,如下所示,并在窗口上设置:
func setVisualEffectToWindow(window: NSWindow) {
// create the visual effect view
var blurryView = NSVisualEffectView(frame: NSRect(x: 0, y: 0, width: 800, height: 600)) //Create with size you want or you can use window content bound here
// this is default value but is here for clarity
blurryView.blendingMode = NSVisualEffectBlendingMode.BehindWindow
// set the background to always be the dark blur
blurryView.material = NSVisualEffectMaterial.Dark
// set it to always be blurry regardless of window state
blurryView.state = NSVisualEffectState.Active
window.contentView.addSubview(blurryView)
}