Как сгенерировать динамический свет / темный режим UIImage из Core Graphics? - PullRequest
3 голосов
/ 08 октября 2019

iOS 13 представила UIImage экземпляров, которые автоматически адаптируются к текущему UIUserInterfaceStyle (он же светлый или темный режим). Однако, похоже, существуют только методы для создания таких изображений из именованных или системных изображений (imageNamed:inBundle:withConfiguration: или systemImageNamed:withConfiguration:).

Есть ли способ динамически генерировать универсальный свет / темный режим UIImage изБазовая графика (например, с использованием двух CGImage с или UIGraphicsImageRenderer)?

Я не вижу API для этого, но, возможно, я ошибаюсь.

1 Ответ

4 голосов
/ 10 октября 2019

Несколько дней назад провел некоторые исследования по этому вопросу (эта функция тоже нужна, но до сих пор ее не реализовывал):

  1. Создать UIImageAsset в коде
  2. Зарегистрировать дваUIImages с использованием register(_:with:) из UIImageAsset (предоставляя userInterfaceStyle .dark / .light) в качестве параметров коллекции признаков https://developer.apple.com/documentation/uikit/uiimageasset/1624974-register
...