Разрешение изображения для новых iPhone 6 и 6+, добавлена ​​поддержка @3x?

Я посмотрел несколько статей и обсуждений, таких как здесь и здесь, о разрешениях изображений, которые новые iPhone будут использовать для отображения в 3 раза. Это правда?

Значит ли это, что нам нужно сохранить три изображения? Скажем, например, у меня есть изображение 50 X 50, мне нужно будет сохранить 3 изображения для оптимизации внешнего вида новых iPhone?

  • Нормальный (50 х 50)
  • @2x - сетчатка (100 х 100)
  • @3x - Retina HD (150 X 150)

Или в новых телефонах будут использоваться только изображения @2x, и нет ничего похожего на @3x?

Я протестировал, делая пример проекта, и все симуляторы, кажется, используют изображения @3x, это сбивает с толку.

редактировать

Вот еще немного информации

  • 3GS ( 163 ppi, поэтому используйте Normal)
  • 4, 4, 5 и 5 (326 точек на дюйм, поэтому мы используем @2x)
  • 6 (326 точек на дюйм, поэтому кажется, что он будет использовать @2x)
  • 6 плюс (401 ppi здесь лежит путаница)

редактировать

Основываясь на ответах Цоба и Нитина, я добавил @3x изображения в свой проект.

Информационное Правление

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

iPhone 6 может иметь разное разрешение, но плотность пикселей на дюйм (PPI) одинакова

  • Разрешение касается абсолютного количества пикселей.
  • Плотность (иначе говоря, пиксели на дюйм - PPI) относится к относительному количеству пикселей на дюйм, которое одинаково в случае iPhone 6 и предыдущих iPhone, но отличается в iPhone 6 plus.

Проверьте больше об этом здесь в этой теме

Следовательно, iPhone 6 использует изображение @2x так же, как iPhone 4, 5 и 5S, поскольку у него тот же PPI, а iPhone 6 плюс использует @3x.

4 ответа

Решение

В примере проекта я пытался использовать стандартные изображения @2x и @3x, а на симуляторе iPhone 6+ используется изображение @3x. Таким образом, может показаться, что нужно сделать 3-кратные изображения (если симулятор действительно повторяет поведение устройства). Но странно то, что все устройства (симуляторы), кажется, используют это изображение в 3 раза, когда оно находится в структуре проекта, в том числе iPhone 4S / iPhone 5.
Отсутствие связи со стороны Apple в отношении потенциальной структуры @3x, хотя они и просят разработчиков публиковать свои приложения для iOS8, довольно запутанно, особенно когда они видят эти результаты на симуляторе.

** Редактирование с веб-сайта Apple **. Об этом также можно узнать в разделе "Что нового на iOS 8" в разделе разработчика Apple:

Поддержка новой шкалы экрана В iPhone 6 Plus используется новый дисплей Retina HD с масштабом экрана 3,0. Чтобы обеспечить максимальное удобство работы с этими устройствами, добавьте новые графические объекты, разработанные для такого масштаба экрана. В Xcode 6 каталоги активов могут включать изображения в размерах 1x, 2x и 3x; просто добавьте новые графические ресурсы, и iOS выберет правильные активы при работе на iPhone 6 Plus. Поведение при загрузке изображения в iOS также распознает суффикс @3x.

Все еще не понимая, почему все устройства, кажется, загружают @3x. Может потому, что я использую обычные файлы, а не xcassets? Скоро попробую.

Редактировать после дальнейшего тестирования: Хорошо, похоже, iOS8 говорит об этом. При тестировании на симуляторе iOS 7 iPhone 5 он правильно использует изображение @2x. Но при запуске того же самого на iOS 8 он использует @3x на iPhone 5. Хотя не уверен, что это желаемое поведение или ошибка / ошибка в iOS8 GM или симуляторах в Xcode 6.

ОБНОВИТЬ:

Новая ссылка для размера изображения иконки от apple.

https://developer.apple.com/ios/human-interface-guidelines/graphics/image-size-and-resolution/

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


Да, это правда, здесь Apple предоставляет официальную документацию относительно размера иконок или изображений

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

Вы должны установить изображения для iPhone6 ​​и iPhone6 ​​+

Для iPhone 6:

750 x 1334 (@2x) for portrait

1334 x 750 (@2x) for landscape

Для iPhone 6 Plus:

1242 x 2208 (@3x) for portrait

2208 x 1242 (@3x) for landscape

Для получения дополнительной информации об изображениях и их разрешении это лучший пост

Для установки размера изображений для элементов управления вы можете установить 1x @2x и @3x следующим образом:

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

Я протестировал, делая пример проекта, и все симуляторы, кажется, используют изображения @3x, это сбивает с толку.

Создайте разные версии изображения в каталоге ресурсов, чтобы само изображение сообщало вам, какая это версия:

Теперь запустите приложение на каждом симуляторе по очереди. Вы увидите, что изображение 3x используется только на iPhone 6 Plus.

То же самое верно, если изображения извлекаются из пакета приложения с использованием их имен (например, one.png, one@2x.png и one@3x.png) путем вызова imageNamed: и присвоение в виде изображения.

(Однако есть разница, если вы назначаете изображение для представления изображений в Интерфейсном Разработчике - версия 2x игнорируется на устройствах с двойным разрешением. Это, вероятно, ошибка, по-видимому, ошибка в pathForResource:ofType:.)

IOS всегда будет пытаться получить лучшее изображение, но будет использовать другие варианты... поэтому, если у вас есть только нормальные изображения в приложении, и ему нужно @2x изображений, он будет использовать нормальные изображения.

если вы добавите в проект только @2x и откроете приложение на обычном устройстве, оно уменьшит изображения для отображения.

если вы нацелены на устройства ios7 и ios8 и хотите получить лучшее качество, вам понадобится @2x и @3x для телефона и обычного телефона и @2x для активов ipad, так как не осталось ни одного телефона с сетчаткой и нет @3x ipad.

может быть, лучше создать ресурсы в приложении из векторной графики... проверьте http://mattgemmell.com/using-pdf-images-in-ios-apps/

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