Различение изображений в каталоге активов по группам

Есть ли способ использовать группы каталогов активов для эффективного пространства имен нескольких изображений с общим именем?

Например, если у меня есть несколько изображений с именем Foo которые находятся в разных группах, есть ли способ указать, какой из них я хотел бы с imageNamed: (то есть что-то вроде UIImage(named:"Group1.Foo")).

Очевидно, я мог бы сам создать уникальные имена для всех изображений, но было бы неплохо, если бы был способ использовать группы, чтобы сделать это для меня.

1 ответ

Решение

Выберите каждую папку в вашем каталоге ресурсов, для которой вы хотите добавить пространство имен. Перейдите в атрибуты папки и выберите под именем "Обеспечивает пространство имен". Это должно правильно установить подкаталоги для вашего окончательного каталога активов.

Вы можете сделать это вручную, отредактировав файл Contents.json для каждой папки. Вы бы добавили следующее с правильным форматированием.

"properties" : {
      "provides-namespace" : true
}

Визуальные Инструкции

(на основе Xcode 10.1)

1) Выберите папку каталога активов.

* Папка желтого цвета, если "Обеспечивает пространство имен" ложно.

2) Убедитесь, что панель инспекторов видна



3) На панели "Инспекторы" выберите "Инспектор атрибутов". Установите флажок "Обеспечивает пространство имен".



Обратите внимание, что значок папки становится синим, указывая на то, что "Предоставляет пространство имен" - "true"



При ссылке на изображение в коде не забудьте включить пространство имен.

let image = UIImage(named: "Icon/Menu")
Другие вопросы по тегам