Загрузка цветового актива из пользовательского пакета в Swift - PullRequest
0 голосов
/ 02 марта 2020

Я пытаюсь загрузить цветной актив из созданного мной пользовательского пакета. (По сути, просто создал папку и добавил .bundle до конца). Похоже, код для нахождения комплекта работает просто отлично, но я не могу извлечь что-либо (точнее, цвета) из своего комплекта. Все они просто возвращают ноль.

Вот мой код ..

    guard let bundleURL = Bundle.main.url(forResource: "TestTheme", withExtension: "bundle") else { return }
    guard let bundle = Bundle(url: bundleURL) else { return }
    let color = UIColor(named: "NavigationBarTint", in: bundle, compatibleWith: nil)
    self.navigationController?.navigationBar.tintColor = color

Что касается содержимого моего пакета, я создал цветовой актив в XCode и добавил несколько цветов. Отправился в расположение ресурса в Finder и просто скопировал / вставил ресурс в мой пакет. Таким образом, все, что существует в моем комплекте «TestTheme», представляет собой одноцветный ресурс с 4 цветами, одним из которых является NavigationBarTint.

Есть ли какой-то шаг, который я здесь упускаю? Все другие исследования указывают на то, что это все, что требуется, но я получаю все нулевые значения.

Спасибо

1 Ответ

0 голосов
/ 03 марта 2020

просто создайте папку в активах, назовите ее как хотите, щелкните правой кнопкой мыши -> New Color Set, установите цвет внутри набора цветов, назовите набор цветов, который вам нравится (например, " Custom_Green «). чтобы загрузить цвет, просто назовите его как let customGreen = UIColor(named: "Custom_Green"). это оно. легко. Кроме того, если вам нужен цвет для светлого режима и цвет для темного режима, просто измените Appearances на Any, Dark, установите цвета, и вы получите go.

...