Sierra Notification Center小部件背景颜色

时间:2016-10-01 20:24:26

标签: macos widget macos-sierra

Sierra的通知中心与Yosemite和El Cap相比具有新的浅色背景色。然而,我的小部件仍然显示旧的黑暗风格,即使我使用新的SDK重建。

视图的外观设置为“Inherited(Vibrant Dark)”。将其更改为“Aqua”似乎没有效果。

是否可以将第三方小部件更改为与Apple相同?我注意到所有其他第三方小部件看起来都一样。

1 个答案:

答案 0 :(得分:4)

您需要在今天的展开式广告NSExtensionPointVersion中将2.0的值设置为Info.plist才能获得新的外观:

<key>NSExtension</key>
<dict>
    <key>NSExtensionAttributes</key>
    <dict>
        <key>NSExtensionPointVersion</key>
        <string>2.0</string>
    </dict>
</dict>

我检查过的最后一个没有在任何地方记录,但是如果你使用Xcode 8创建一个新的Today扩展,它应该为你添加这个,确认它是正确的方法。 (我实际上通过检查Apple自己今天的扩展程序的内容来弄明白。)

值得一提的是,旧版本的macOS仍然会有黑暗的外观,因此如果您的扩展程序向后兼容,则需要根据背景颜色调整内容。在Today Extension的主视图控制器中,您可以检查这样的黑暗外观:

NSString *appearance = self.parentViewController.view.effectiveAppearance.name;
BOOL legacyDarkBackground = ([appearance isEqualToString:NSAppearanceNameVibrantDark]);