Как да качвате изображения в Xcode

За да използвате изображения в Xcode, трябва да ги качите в Assets.xcassets, намираща се в Supporting Filesпапката. Има две опции, с които можете да се възползвате: растерни карти (известни още като pngфайлове) или вектори (известни още като .pdfфайлове). Първата стъпка е да решите кой тип файл искате да използвате.

Разликата между растерните изображения и векторните активи

Повечето уроци онлайн използват растерни активи, които са .pngфайлове. Това изисква да плъзнете над 3 копия на изображението в Xcode.

Съществува обаче мисловна школа, която смята, че векторните активи са по-добри. Тази статия има чудесно обяснение защо е така. Векторните активи са .svgфайлове (или .pdfза Xcode). Ако решите да използвате вектори, трябва да качите само една версия на изображението в Xcode.

Ето какво чух от онези много по-мъдри от тогава телефоните I-Android използват алгоритми от векторния актив, за да генерират изображението във всякакъв размер. Има смисъл предвид широката широчина на устройствата и размерите на екрана за Android.

Въпреки това векторните активи в iPhone всъщност не се мащабират с алгоритми (очевидно). Така че не получавате изображения с по-високо качество, като използвате вектори върху растерни изображения. Вместо това получавате същото качество като растерното изображение. IPhone просто взема актива „вектор“ и го преобразува в същите три битови размера.

Освен логиката на алгоритъма по-горе, има няколкопо-обективни ползи от използването на векторни активи за iPhone.

  1. Намалява вероятността от човешка грешка. В момента има три растерни размера (1x, 2x, 3x). Това означава, че трябва да качите три изображения в активите си. Това са три възможности за случайно плъзгане и пускане на грешно изображение. Когато използвате векторни активи (които се появяват като универсални в Xcode), трябва да качите само едно изображение вместо три. Има по-малък шанс за качване на неправилен размер или изображение.
  2. Скорост. Същата причина като # 1. Ако използвате много изображения в приложението си, тогава използването на векторни активи намалява броя на изображенията, които трябва да качите, с една трета.
  3. Проверка на бъдещето. В момента iPhone използва само три размера на изображението (1x, 2x, 3x). Това е свързано с повишеното качество на ретината на екраните. Когато Apple представи екраните с висока ретина преди няколко години, броят на пикселите на точка се увеличи за по-остро изображение.

    Изглежда изключително вероятно подобни технологични увеличения да продължат да се случват. В бъдеще може да се наложи да качим изображения 4x, 5x и 6x. Ако използваме векторен актив, приложението ще мащабира изображението вместо нас. Това ни спестява от отпадането в новите размери на растерния актив.

    Въпреки че трябва да призная, че съм малко объркан от това, като се има предвид, че iPhone векторните активи всъщност не работят по алгоритми. Затова не съм сигурен как те автоматично ще се мащабират до по-големи размери. Но моят мъдър наставник обясни това и аз му вярвам!

Единственият голям недостатък за използването на векторни активи в Xcode е, че повечето места не предоставят .pdfфайла. Трябва да го конвертирате от .svgсебе си.

Актуализация на 18 юни 2017 г . : Apple обяви в WWDC, че iOS вече поддържа истински скаларни изображения! Или поне това мисля, че обявиха. Сега има още повече причини да се използва, за да се използва единична скала.

Как да качите векторния актив

Насочете се към менюто на атрибутите. Променете скалата на „единична скала“ и поставете отметка в квадратчето за преоразмеряване, за да „запазите векторни данни“. Това ще промени опцията за качване на „всички“ вместо 1x, 2x, 3x.

След това плъзнете и пуснете .pdfфайла в един слот. Аз не съм много сигурен как да конвертирате .svgкъм .pdfвсе още, но предполагам, че е доста лесно с Preview.

Как да качвате .png файлове

Ако решите да продължите .png, ще трябва да качите три версии на файла си. Това е за покриване на различните резолюции на екрана на различните iPhone.

Първо се уверете, че опцията „везни“ в менюто на атрибутите е зададена на „индивидуални везни“. Това е опцията по подразбиране и тя ще ви покаже три слота, които трябва да попълните:

Второ, намерете изображение, което искате да използвате във вашето приложение. Да приемем, че това е тази икона:

Леле това е голямо. Това е така, защото изтеглих версията с 512 пиксела от сайта. Искам обаче само изображението да е 20 х 20 пиксела в приложението ми. За да преобразувам изображението в 20 пиксела, ще го преоразмеря в Преглед.

Направете три копия на оригиналното изображение. Имената на вашето изображение трябва да изглежда нещо като това: zen.png, [email protected], [email protected]. Важната част е, че всички файлове имат едно и също име (тук използвам zen) и два от тях завършват с @2xи @3x. Когато използвате тази конвенция за именуване, Xcode ще може автоматично да намери правилния размер въз основа на типа устройство.

След това отворете изображението в Preview и отидете на Tools> Adjust size, за да изведете менюто по-долу. Посочете 20 x 20 пиксела. Натиснете OK и запазете промяната. Това е вашето основно изображение zen.png,.

Направете същото за [email protected]. Само това трябва да бъде 40 х 40 пиксела. Още веднъж за [email protected]. Това ще бъде 60 х 60 пиксела.

Сега можете да плъзгате и пускате изображенията в правилните полета в Xcode. Свършен!