NSVisualEffectView 上的 NSImageView

NSImageView on NSVisualEffectView

我需要制作右侧带有图标的 NSMenuItem。我最终得到了自定义视图,其中在 NSVisualEffectView 之上包含 NSTextField 和 NSImageView,并带有选择 material,我用它来模仿系统选择。 NSVisualEffectView 默认是隐藏的。 但是当项目被选中时,我的 NSVisualEffectView 出现在屏幕上并且图像被绘制为背景。我怎样才能摆脱它? wantsLayer = YES 和 backgroundColor = CGColor.clear 没有帮助。 提前致谢。

您不需要显式添加 NSVisualEffectView。默认情况下,菜单项将 NSVisualEffectView 作为 superView。您可以使用该 VisualEffectView 来模仿选择行为。 Click here 下载演示项目。

将图像的 isTemplate 属性 设置为 true。它会根据菜单项的外观而变化。