在 macOS Mojave 上使侧边栏小部件透明
Make sidebar widget transparent on macOS Mojave
我有两个适用于 macOS Mojave 的应用程序,它们带有边栏扩展。
我注意到应用程序扩展在 Widget Simulator 和侧边栏中看起来不同。当应用程序 运行s 在 Widget Simulator 中时,背景具有一定的透明度。当我 运行 应用程序正常时,没有这种透明度。我附上了两张截图:
如您所见,该应用程序没有透明度(与 macOS 的计算器应用程序相比)。
第二个屏幕截图显示了应用 运行ning 在模拟器中的透明度。
是否需要设置任何选项才能使其透明?如果 NSView 后代有新类型吗?标题栏也不一样,所以我觉得单纯把背景色设置成"clear"是不够的。该应用程序的最新版本仅适用于 10.14,因此我不关心该解决方案是否仅适用于 macOS Mojave。
我已经检查过,小部件继承了超级 view/window 的外观。我没有更改任何其他属性。我也尝试过使用具有各种设置的 NSVisualEffectView,但这也没有解决问题。
此致
我刚刚在 Apple Developer 论坛中找到了解决方案:
在扩展的 info.plist 文件中,有一个名为 NSExtension 的部分。在那里,NSExtensionAttributes/NSExtensionPointVersion 必须递增(以前是 2.0,现在是 3.0)。
现在应用扩展看起来不错:
我有两个适用于 macOS Mojave 的应用程序,它们带有边栏扩展。 我注意到应用程序扩展在 Widget Simulator 和侧边栏中看起来不同。当应用程序 运行s 在 Widget Simulator 中时,背景具有一定的透明度。当我 运行 应用程序正常时,没有这种透明度。我附上了两张截图:
如您所见,该应用程序没有透明度(与 macOS 的计算器应用程序相比)。 第二个屏幕截图显示了应用 运行ning 在模拟器中的透明度。
是否需要设置任何选项才能使其透明?如果 NSView 后代有新类型吗?标题栏也不一样,所以我觉得单纯把背景色设置成"clear"是不够的。该应用程序的最新版本仅适用于 10.14,因此我不关心该解决方案是否仅适用于 macOS Mojave。
我已经检查过,小部件继承了超级 view/window 的外观。我没有更改任何其他属性。我也尝试过使用具有各种设置的 NSVisualEffectView,但这也没有解决问题。
此致
我刚刚在 Apple Developer 论坛中找到了解决方案:
在扩展的 info.plist 文件中,有一个名为 NSExtension 的部分。在那里,NSExtensionAttributes/NSExtensionPointVersion 必须递增(以前是 2.0,现在是 3.0)。
现在应用扩展看起来不错: