【发布时间】:2016-10-04 02:22:22
【问题描述】:
与 Yosemite 和 El Cap 相比,Sierra 的通知中心具有新的浅色背景。然而,即使我使用新的 SDK 重新构建,我的小部件仍然显示旧的深色样式。
视图的外观设置为“继承(充满活力的黑暗)”。将其更改为“Aqua”似乎没有任何效果。
是否可以将第三方小部件更改为与 Apple 的外观相同?我注意到所有其他第三方小部件我看起来都一样。
【问题讨论】:
标签: macos widget macos-sierra
与 Yosemite 和 El Cap 相比,Sierra 的通知中心具有新的浅色背景。然而,即使我使用新的 SDK 重新构建,我的小部件仍然显示旧的深色样式。
视图的外观设置为“继承(充满活力的黑暗)”。将其更改为“Aqua”似乎没有任何效果。
是否可以将第三方小部件更改为与 Apple 的外观相同?我注意到所有其他第三方小部件我看起来都一样。
【问题讨论】:
标签: macos widget macos-sierra
您需要在 Today 扩展的 Info.plist 中将 NSExtensionPointVersion 的值设置为 2.0 以获得新外观:
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>NSExtensionPointVersion</key>
<string>2.0</string>
</dict>
</dict>
我最后一次检查这个并没有记录在任何地方,但是如果你使用 Xcode 8 创建一个新的 Today 扩展,它应该为你添加这个,确认它是正确的方法。 (实际上,我是通过检查 Apple 自己的 Today 扩展的内容发现的。)
值得一提的是,旧版本的 macOS 仍然会有深色外观,因此如果您的扩展程序向后兼容,您需要调整内容以适应背景颜色。在您的 Today 扩展程序的主视图控制器中,您可以像这样检查深色外观:
NSString *appearance = self.parentViewController.view.effectiveAppearance.name;
BOOL legacyDarkBackground = ([appearance isEqualToString:NSAppearanceNameVibrantDark]);
【讨论】: