Я просмотрел несколько статей и обсуждений, подобных одной здесь и здесь, о разрешениях изображений, которые новые iPhone будут использовать для отображения изображений @ 3x. Это правда?
Значит ли это, что нам нужно сохранить три изображения? Скажем, у меня есть изображение размером 50 X 50, нужно ли мне хранить 3 изображения для оптимизации внешнего вида новых iPhone?
- Нормальный (50 X 50)
- @ 2x - Retina (100 X 100)
- @ 3x - Retina HD (150 X 150)
Или в новых телефонах будут использоваться только изображения @ 2x, а @ 3x нет ничего?
Я протестировал, создав образец проекта, и все симуляторы, похоже, используют изображения @ 3x, это сбивает с толку.
редактировать
Вот еще немного информации
- 3GS (163 ppi, используйте нормальный)
- 4, 4, 5 и 5 секунд (326 пикселей на дюйм, поэтому мы используем @ 2x)
- 6 (326 пикселей на дюйм, похоже, будет использоваться @ 2x)
- 6 плюс (401 ppi здесь кроется путаница)
редактировать
На основании ответов Цоба и Нитина я добавил в свой проект изображения @ 3x.
Информационное Править
Я вижу, что немногие пользователи не понимают, почему в iPhone 6 используются изображения @ 2x, хотя у него более высокое разрешение, причина в том, что
iPhone 6 может иметь другое разрешение, но одинаковую плотность пикселей на дюйм (PPI).
- Разрешение относится к абсолютному количеству пикселей.
- Плотность (также известная как количество пикселей на дюйм - PPI) относится к относительному количеству пикселей на дюйм, которое одинаково в случае iPhone 6 и предыдущих iPhone, но отличается в iPhone 6 plus.
Узнайте больше об этом здесь, в этой теме
Следовательно, iPhone 6 использует изображение @ 2x, такое же, как iPhone 4, 5 и 5S, поскольку он имеет тот же PPI, а iPhone 6 plus использует @ 3x.
источник
Ответы:
В примере проекта я пробовал использовать стандартные изображения @ 2x и @ 3x, а симулятор iPhone 6+ использует изображение @ 3x. Таким образом, может показаться, что нужно сделать изображения @ 3x (если симулятор действительно воспроизводит поведение устройства). Но странно то, что все устройства (симуляторы), похоже, используют это изображение @ 3x, когда оно находится в структуре проекта, iPhone 4S / iPhone 5 тоже.
Отсутствие связи со стороны Apple по поводу потенциальной структуры @ 3x, в то время как они просят разработчиков опубликовать свои приложения для iOS8, довольно сбивает с толку, особенно при просмотре этих результатов на симуляторе.
** Редактировать с веб-сайта Apple **: также можно найти это в разделе «Что нового в iOS 8» на сайте Apple для разработчиков:
Все еще не понимаю, почему все устройства загружают @ 3x. Может это потому, что я использую обычные файлы, а не xcasset? Скоро попробую.
Изменить после дальнейшего тестирования: Хорошо, похоже, что iOS8 говорит об этом. При тестировании на симуляторе iPhone 5 iOS 7.1 он правильно использует изображение @ 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 следующим образом:
источник
Создайте разные версии изображения в каталоге активов, чтобы само изображение сообщало вам, какая это версия:
Теперь запустите приложение на каждом симуляторе по очереди. Вы увидите, что 3-кратное изображение используется только на iPhone 6 Plus.
То же самое верно, если изображения извлекаются из пакета приложений с использованием их имен (например, one.png , one@2x.png и one@3x.png ) путем вызова
imageNamed:
и назначения в представление изображения.(Однако есть разница, если вы назначаете изображение представлению изображения в Interface Builder - версия 2x игнорируется на устройствах с двойным разрешением. Это, вероятно, ошибка, по-видимому, ошибка внутри
pathForResource:ofType:
.)источник
ios всегда будет пытаться выбрать лучшее изображение, но будет использовать другие варианты ... поэтому, если у вас есть только нормальные изображения в приложении и ему нужны изображения @ 2x, он будет использовать обычные изображения.
если вы поместите в проект только @ 2x и откроете приложение на обычном устройстве, изображение будет уменьшено для отображения.
если вы нацеливаетесь на устройства ios7 и ios8 и хотите наилучшего качества, вам понадобятся @ 2x и @ 3x для телефона и обычного и @ 2x для ресурсов ipad, поскольку не осталось телефонов без Retina и нет @ 3x ipad.
возможно, лучше создать активы в приложении из векторной графики ... проверьте http://mattgemmell.com/using-pdf-images-in-ios-apps/
источник