繁体   English   中英

如何在 macOS Catalyst 应用程序中为 NSToolbar 设置暗模式?

[英]How to set dark mode for NSToolbar in macOS Catalyst app?

在我的 iOS/macOS 应用程序中,用户可以在浅色和深色外观之间进行选择。

这是通过设置应用程序 window 的 overrideUserInterfaceStyle 来完成的,例如

window.overrideUserInterfaceStyle = .dark

它在 iOS/iPadOS 上运行良好。

在 macOS (Catalyst) 上,应用程序使用 NSToolbar,它始终以系统设置中选择的模式出现,无论为 window 的 overrideUserInterfaceStyle 设置了什么(参见屏幕截图)。

由于这不是一个好的视觉印象,我想知道如何为 NSToolbar 设置亮/暗模式。

应用程序处于暗模式,NSToolbar 处于亮模式

将值为DarkUIUserInterfaceStyle添加到应用的 Info.plist。 这将强制整个应用程序在 iOS 13+ 和 Mac Catalyst 上进入暗模式(您不需要设置 overrideUserInterfaceStyle)。

文档: https://developer.apple.com/documentation/bundleresources/information_property_list/uiuserinterfacestyle

这可以通过添加一个 macOS 插件来完成,该插件可以访问整个 AppKit API。 可以在此处找到说明: 如何从 Mac Catalyst 应用程序访问 AppKit API

然后您可以在运行时在那里设置所需的外观,例如:

NSApplication.shared.appearance = NSAppearance(named: .darkAqua)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM