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