【问题标题】:Dark mode Mac OS黑暗模式 Mac OS
【发布时间】:2018-10-08 08:56:16
【问题描述】:

在发布我的应用程序时,我收到了来自 Apple 的此错误。我怎么解决这个问题? 我们发现启用深色模式后,菜单栏的额外图标不可见。 我在网上找不到任何定义暗模式的东西...

【问题讨论】:

  • 请将您的代码添加为文本,而不是图像
  • 您的资产的深色外观区域中似乎有深色图标。它们不会在黑暗模式下可见。深色模式需要浅色图像
  • @Paulw11 好的,我输入了它们。现在在代码级别我应该怎么做?
  • 什么都没有。系统自动选择正确的外观。 developer.apple.com/documentation/appkit/images_and_pdf/…
  • 您指的是Apple的一些错误,但没有提到哪个。另外,我觉得你的 Xcode 处于浅色模式但编辑器有一个深色方案很奇怪。你是在 macOS 10.13 上构建的吗?如果是这样,the dark mode colors and images won't work!

标签: macos macos-darkmode


【解决方案1】:

我在您的代码中看到了 cache 一词并进行了一些猜测:

看起来您正在加载图像,然后对它们进行处理并存储处理后的图像以供以后使用。您需要注意许多事项:

首先,确保在进行图像加载/操作时正确设置当前外观。除了drawRect: 和其他一些方法,你总是需要做一个类似这样的舞蹈:

NSAppearance * savedAppearance = [NSAppearance currentAppearance];
[NSAppearance setCurrentAppearance:someView.effectiveAppearance];

// Do your image/color/drawing stuff.

[NSAppearance setCurrentAppearance:savedAppearance];

请注意,外观是“限定”到特定视图的!您可以在同一个视图层次结构中拥有不同的外观。

您需要覆盖 NSViewviewDidChangeEffectiveAppearance 或 KVObserve 视图的 effectiveAppearance 以获得有关外观更改的通知并做出相应的反应(重新创建图标)。

【讨论】:

    猜你喜欢
    • 2021-06-11
    • 1970-01-01
    • 2021-03-25
    • 2021-04-16
    • 2019-03-20
    • 1970-01-01
    • 2022-12-24
    • 2020-12-11
    • 2021-06-24
    相关资源
    最近更新 更多