Темный режим Mac OS
0 ответов
Я вижу термин cache
в вашем коде и некоторые предположения:
Похоже, вы загружаете изображения, затем манипулируете ими и сохраняете манипулированные изображения для последующего использования. Есть несколько вещей, о которых нужно позаботиться:
Прежде всего, убедитесь, что текущий внешний вид установлен правильно, когда вы выполняете загрузку / манипулирование изображением. Вне drawRect:
и несколько других методов, вам всегда нужно сделать танец, похожий на этот:
NSAppearance * savedAppearance = [NSAppearance currentAppearance];
[NSAppearance setCurrentAppearance:someView.effectiveAppearance];
// Do your image/color/drawing stuff.
[NSAppearance setCurrentAppearance:savedAppearance];
Имейте в виду, что внешний вид "ограничен" конкретным видом! Вы можете иметь разные виды в одной иерархии представлений.
Вы должны либо переопределить viewDidChangeEffectiveAppearance
вашей NSView
или КВО наблюдать effectiveAppearance
чтобы получать уведомления об изменениях внешнего вида и реагировать соответственно (воссоздать ваши иконки).