Xcode 6 - xcassets для универсальной поддержки изображений

В настоящее время работает над универсальным проектом SpriteKit. Я буду поддерживать следующие устройства:

iPhone 4/s, iPhone 5/c/s, iPhone 6, iPhone 6+

iPad non-ret, сетчатка iPad

Я запутался в части iPhone. У меня уже есть 4 версии для моего фонового спрайта для 4 различных разрешений экрана iPhone. Но что идет к чему?

Я знаю, что 3x для 6+, и я думаю, что 5/c/s идет на Retina 4 2x, но я не знаю, куда идут iPhone4 / s и 6. Кто-нибудь знает?

Примечание: когда я создаю Launch Image внутри моего файла xcassets, мне показываются эти параметры, которые в основном имеют все устройства, которые я поддерживаю. Просто интересно, почему это не так при создании набора изображений

Кроме того, как вы подходите к созданию изображений / спрайтов для универсального приложения? Теперь, когда новый iPhone 6 и 6 плюс вышли, у меня есть еще 2 разрешения для поддержки, что до сих пор сбивает меня с толку, так как я все еще начинающий.

5 ответов

Решение

Это немного сбивает с толку - вот как я понимаю (это относится к верхнему изображению):

  • изображений для оригинального iPhone через 3GS - устройства "стандартного" разрешения (3,5-дюймовые экраны)

  • изображения предназначены для iPhone 4 и 4S (3,5-дюймовые экраны Retina), а также используются для iPhone 6.

  • Retina 4 2x предназначены для iPhone 5 и 5s (4-дюймовые экраны Retina)

  • 3 раза изображения для нового iPhone 6+ (5,5"экран Super-Retina [3x])

Я считаю, что iPhone 6 (4,7"экран) будет использовать изображения Retina 4 2x, но я должен был бы проверить это.

Примечание: когда я создаю Launch Image внутри моего файла xcassets, мне показываются эти параметры, которые в основном имеют все устройства, которые я поддерживаю. Просто интересно, почему это не так при создании набора изображений

Если вы сравните два изображения, то на нижнем изображено все, что делает верхнее, за исключением 1х графического изображения на iPhone. Вам это не нужно, если вы поддерживаете только iOS 7 и более поздние версии, поскольку iOS 7 не работает на любых устройствах, отличных от Retina. Если честно, я не понимаю, почему на верхнем изображении есть вариант графической формы iPhone 1x - может быть, потому что вы отметили флажок "iPhone" на боковой панели?

Как вы подходите к созданию изображений / спрайтов для универсального приложения?

Для большинства не полноэкранных изображений (например, с логотипом) у вас действительно есть только 3 разрешения для поддержки - стандартное (1x), Retina (2x) и iPhone 6+ (3x). Это просто разное качество изображений, а не разные размеры. Так что если у вас есть изображение 10x10 на стандартном устройстве, это означает, что вам нужно изображение 20x20 на устройстве Retina и изображение 30x30 на iPhone 6+. На всех устройствах они будут отображаться как изображение 10х10.

Отличным инструментом, который я использовал для управления различными разрешениями иконок, является iConify.

Я создаю их с максимальным размером, который мне нужен (30x30 [@3x] для изображения, которое я хочу иметь на устройстве 10x10), затем сохраняю его в формате png и изменяю размеры копий до 20x20 [@2x] и 10x10 [стандартное]. Лучшим решением было бы создать и использовать векторную графику, которая бы лучше подходила к любому размеру.

В 1х месте изображение с разрешением 320 х 480.
В 2х местах изображения с разрешением 640 х 960.
В сетчатке 4 2х местное изображение с разрешением 640 х 1136.
в 3х местах изображения с разрешением 1242 х 2208.

Изображения Retina 4 2x будут увеличены до разрешения 750 x 1334.
Изображения в 3 раза будут уменьшены до разрешения 1080 x 1920.

Вы также можете посетить эти ссылки для изображений экрана запуска:
http://www.paintcodeapp.com/news/iphone-6-screens-demystified
http://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions


Для всех остальных изображений разрешение и размер:
https://developer.apple.com/ios/human-interface-guidelines/graphics/launch-screen/ https://developer.apple.com/ios/human-interface-guidelines/graphics/image-size-and-resolution/ https://developer.apple.com/ios/human-interface-guidelines/graphics/custom-icons/


Как использовать Image.xcassets:
https://www.youtube.com/watch?v=_36Y6rDcKP0&list=PLXCowKcXAVgrCe2Lezv0acRf4adQLshv2

Надеюсь, это будет более полезным.

Если у вас есть образы запуска в файле xcasset, вы можете сделать следующее в Xcode 6.

Выберите актив изображения запуска, выберите конкретное разрешение (1x, 2x, Retina 4 и т. Д.) И откройте инспектор атрибутов (см. Изображение ниже).

В разделе "Изображение" у вас будет атрибут "Ожидаемый размер".

Внутри images.xcassets, вы можете добавить поддержку различных устройств, щелкнув правой кнопкой мыши, как показано на снимке

Редактировать: Ну, это не работает, когда я перетаскиваю n перетащить изображения в заполнители. Это запутано, как показано ниже

Я не знаю, почему он действует странно на моем Xcode 6.4, хотя.

Изменить #2:

Я вижу ошибку от яблока здесь. Я могу выбрать "Универсальный" вместе с любым устройством при щелчке правой кнопкой мыши, как вы можете видеть на первом изображении выше. Но через инспектор атрибутов я могу правильно выбрать "Универсальное" или конкретные устройства, как показано здесь

Edit#3:

В Xcode 7 инспектор атрибута был изменен, и теперь он дает опцию, такую ​​же, как щелчок правой кнопкой мыши. Поэтому вместо "универсальных" или конкретных устройств теперь предлагается выбрать все.

Существует один инструмент: AVXCassets Generator, с помощью которого вы можете одним нажатием создать файл XCAssets напрямую для всех ваших значков и изображений.

Надеюсь, вам это понравится.

Другие вопросы по тегам