带掩码的NSVisualEffectView有锯齿状的角落

Luk*_*uke 10 macos cocoa objective-c nsview osx-yosemite

在WWPC 2014关于新Yosemite UI的一次谈话中,它表示要避免使用NSVisualEffectView蒙面图层.不幸的是,我的视图的图层确实有一个形状蒙版,因此其中的视觉效果视图具有丑陋的锯齿状边缘效果:

毛

但是我知道必须以某种方式创建一个蒙面视觉效果视图,部分原因有两个:

  • 图像蒙版属性打开NSVisualEffectView产生一个平滑的,反对称的蒙版(但需要在其后面有一个未屏蔽的背景,而不仅仅是一个未屏蔽的父视图)
  • NSPopover并且NSMenu似乎能够实现随尺寸变化的平滑蒙版:

平滑

也顺利

虽然它们使用的是否是可疑的NSVisualEffectView,而不是定制的模糊视图.

有什么方法可以实现这种不依赖于遮罩图像而是依赖于路径或形状层的平滑遮罩?

小智 0

NSWindow不久前我试图通过一个视图来实现这一点,我遇到了这个很棒的库:https: //www.cocoacontrols.com/controls/waythedarkside

它允许您为视图/背景添加浅色或深色模糊。我想这就是您正在寻找的:)