在 macOS Mojave 上使侧边栏小部件透明

ine*_*tus 5 swift macos-mojave

我有两个适用于 macOS Mojave 的应用程序,它们带有侧边栏扩展。我注意到应用程序扩展在小部件模拟器和侧边栏中看起来不同。当应用程序在小部件模拟器中运行时,背景具有一定的透明度。当我正常运行应用程序时,没有这样的透明度。我附上了两张截图:

通知区域的屏幕截图。 您可以在下面看到计算器应用程序和我的应用程序 - 没有透明度

这就是我的应用程序在模拟器中的样子

如您所见,该应用程序没有透明度(与 macOS 的计算器应用程序相比)。第二个屏幕截图以透明方式显示了在模拟器中运行的应用程序。

我必须设置任何选项才能使其透明吗?NSView 后代是否有新类型?标题栏也不同,所以我认为简单地将背景颜色设置为“清晰”是不够的。该应用程序的最新版本仅针对 10.14 构建,因此我不在乎该解决方案是否仅适用于 macOS Mojave。

我已经检查过,该小部件继承了超级视图/窗口的外观。我没有更改任何其他属性。我还尝试使用具有各种设置的 NSVisualEffectView,但这也没有解决问题。

问候

ine*_*tus 4

我刚刚在Apple开发者论坛中找到了解决方案:

苹果开发者论坛

在扩展的 info.plist 文件中,有一个名为 NSExtension 的部分。其中,NSExtensionAttributes/NSExtensionPointVersion 必须增加(以前是 2.0,现在是 3.0)。

现在应用程序扩展看起来不错:

信息plist设置