我cache
在您的代码中看到了该术语,并做出了一些猜测:
看起来您正在加载图像,然后对其进行处理并存储经处理的图像以供以后使用。您需要注意许多事项:
首先,在进行图像加载/操作时,请确保正确设置了当前外观。在drawRect:
其他方法之外,您总是需要做类似以下的舞蹈:
NSAppearance * savedAppearance = [NSAppearance currentAppearance];
[NSAppearance setCurrentAppearance:someView.effectiveAppearance];
// Do your image/color/drawing stuff.
[NSAppearance setCurrentAppearance:savedAppearance];
请注意,外观是“范围内”的特定视图!您可以在同一视图层次结构中具有不同的外观。
您需要可以覆盖viewDidChangeEffectiveAppearance
你的NSView
或KVObserve的effectiveAppearance
视图来收到通知外观变化并作出相应的反应(重新创建图标)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句