2016-06-13 2 views
0

Я пытаюсь организовать изображения в каталоге XCode Asset, но я немного смущен:Как правильно назвать изображения в XCode Asset Catalog?

(1) Я пытаюсь создать новые папки для разных групп изображений. Тем не менее, я могу получить доступ к изображению без указания имени папки, например:

let image = UIImage(named: "btn_tabsetting") 

Должен ли я дать каждому изображению другое имя, даже я уже положил их в разных папках?

(2) Как показано ниже, в папке test, я создаю образ btn_tabsetting, который имеет то же имя, что и в другой папке. Почему XCode позволяет мне это делать? Когда я называю

let image = UIImage(named: "btn_tabsetting") 

это на самом деле загружает один в Tab Setting View папку вместо одного в test папку, почему это так? Какое правило здесь?

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

enter image description here

+0

XCode использует группы, а не папки. Читайте здесь о различии http://stackoverflow.com/questions/8851144/explanation-of-xcode-settings-for-folders-added-to-project – tbilopavlovic

+1

@ user1941284 Я знаю разницу в папках и группах, и я с ними справляюсь , но я думаю, что Каталог Активов устроил вещи по-другому. –

ответ

-1

Xcode автоматически устанавливаются другое имя изображения, если вы разместили одноименные изображения в Asset Catlog.

Предположим, у меня есть падение одного изображения в качестве xyz.png, а затем я снова падение xyz.png в нем, Xcode будет переименовать его с xyz_1.png

+0

Я думаю, что 'btn_tabsetting' в моем примере не является именем файла изображения. Ваш ответ тоже не отвечает на мой вопрос. –

0

Согласно документации

Для любой цели в проекте Xcode полное имя актива должно быть уникальным во всех каталогах активов и во всех типах активов. Например, ошибка заключается в том, что папка с набором изображений в одном каталоге активов называется Llama.imageset и образ, заданный с тем же именем в том же каталоге или в другом каталоге, который является частью одной и той же цели. Точно так же ошибка состоит в том, что как папка с набором изображений, называемая Llama.imageset, так и папка с иконкой приложения Llama.appiconset в том же каталоге или в другом каталоге, который является частью одной и той же цели.

Таким образом, имена активов должны быть уникальными. Я рекомендую организовать активы в логических группах и префикс каждого актива внутри группы с именем группы. Для примера:

- Icons (group) 
    - icon_gear 
    - icon_heart 
    - icon_edit 
    - TabBar (group) 
     - icon_tabbar_profile 
     - icon_tabbar_settings 
    - Settings (group) 
     - icon_settings_age 
     - icon_settings_name 
- Streachables (group) 
    - streachable_profile_background 
    - streachable_product_background