在Swift中禁用mac OSX App的暗模式

时间:2016-05-26 08:56:26

标签: xcode swift macos cocoa nsuserdefaults

是否可以禁用mac app的暗模式?

我只希望它显示我的应用程序的默认样式,即使用户在他的Mac上使用黑暗模式。

我正在使用一个popover。

试图使用它:self.popover.appearance = NSAppearanceNameAqua但它告诉我:不能将类型String的值赋给NSApperance类型。

2 个答案:

答案 0 :(得分:7)

您首先需要初始化名称:

popover.appearance = NSAppearance(named: NSAppearanceNameAqua)

你很亲密。

编辑Swift 4.1:

popover?.appearance = NSAppearance(named: NSAppearance.Name.aqua)

答案 1 :(得分:2)

您可以在应用程序的Info.p列表中禁用对黑暗模式的支持:

  

退出黑暗模式

     

与macOS 10.14或更高版本链接的应用程序应   支持亮色和深色外观。如果您针对构建应用   较早的SDK,您仍然可以通过以下方式启用暗模式支持:   您的float(B[0]) 键(值为NSRequiresAquaSystemAppearance)   应用的false文件。仅在您应用的外观看上去不错时才这样做   在启用了暗模式的macOS 10.14和更高版本中运行时,可以更正。      

如果您需要更多时间来处理应用程序的暗模式支持,则可以   可以通过加入   您的Info.plis键(值为NSRequiresAquaSystemAppearance)   应用的true文件。将此键设置为true会导致系统   忽略用户的喜好,并始终将淡淡的外观   您的应用。

来源:https://developer.apple.com/documentation/appkit/nsappearancecustomization/choosing_a_specific_appearance_for_your_app