1

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

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

4

1 回答 1

1

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

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

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

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

// Do your image/color/drawing stuff.

[NSAppearance setCurrentAppearance:savedAppearance];

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

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

于 2018-12-06T13:45:26.913 回答