我正在开发一个macOS应用程序,它使用NSVisualEffectView来实现透明度。我想达到一个类似于iOS的封面小部件视图的效果。请注意,当您向上滚动时,搜索栏周围会出现模糊内容。我希望在macOS应用程序中执行此操作,以便当表视图中的内容在某个点下滚动时,NSVisualEffectView会模糊它。我该怎么做?提前谢谢。

最佳答案

创建一个可视效果视图实例,如下所示并在窗口上设置:

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)
}

07-24 09:51