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

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

iPhone 4/s, iPhone 5/c/s, Айфон 6, iPhone 6 +

iPad не-ret, IPad сетчатки

enter image description here

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

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

Заметьте, когда я создаю Launch Image внутри моего файла xcassets, мне показываются эти параметры, в основе которых лежит все поддерживающее устройство. Просто интересно, почему это не так, если вы создаете набор изображений enter image description here

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

Ответ 1

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

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

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

  • Retina 4 2x предназначены для iPhone 5 и 5s (экраны сетчатки 4 ")

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

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

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

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

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

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

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

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

Ответ 2

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

Изображения Retina 4 2x будут масштабироваться до разрешения 750 x 1334.
Изображения 3x уменьшатся до разрешения 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

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

Ответ 3

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

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

enter image description here

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

enter image description here

Ответ 4

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

enter image description here

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

enter image description here

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

Edit # 2:

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

enter image description here

Edit # 3:

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

введите описание изображения здесь

Ответ 5

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

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

введите описание изображения здесь