Дозвіл зображення для нових iPhone 6 та 6+, додана підтримка 3x?


141

Я переглянув декілька статей та обговорень, як одна тут, і тут про роздільну здатність зображень, що нові iPhone будуть використовувати @ 3x зображення для показу. Це правда?

Так це означає, що нам доведеться зберегти три зображення? Скажімо, наприклад, у мене зображення розміром 50 X 50, чи потрібно буде тримати три зображення для оптимізації вигляду нових айфонів?

  • Звичайна (50 X 50)
  • @ 2x - Сітківка (100 X 100)
  • @ 3x - сітківка HD (150 X 150)

Або нові телефони використовуватимуть лише зображення 2x 2x, і немає нічого подібного до @ 3x?

Я протестував, зробивши зразок проекту, і всі тренажери, здається, використовують зображення 3x, це заплутано.

Редагувати

Ось додаткова інформація

  • 3GS (163 ppi, тому використовуйте Normal)
  • 4, 4s, 5 і 5s (326 ppi, тому ми використовуємо @ 2x)
  • 6 (326 ppi, тому здається, що він буде використовувати @ 2x)
  • 6 плюс (401 ppi тут криється плутанина)

Редагувати

Грунтуючись на відповідях Цоба та нітіна, я додав @ 3x зображення до свого проекту.

Інформаційна редакція

Я бачу, що мало хто з плутанини ставиться до того, чому iPhone 6 використовує зображення @ 2x 2x, хоча він має більш високу роздільну здатність

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

  • Роздільна здатність стосується абсолютної кількості пікселів.
  • Щільність (також пікселів на дюйм - ІРП) стосується відносної кількості пікселів на дюйм, яка однакова для iPhone 6 та попередніх iPhone, але відрізняється в iPhone 6 плюс.

Детальніше про це дивіться тут, у цій темі

Отже, iPhone 6 використовує зображення @ 2x, таке ж, як у iPhone 4, 5 та 5S, оскільки він має той самий PPI, а iPhone 6 плюс використовує @ 3x.


Тоді в чому користь Retina 4 2x, якщо жоден з пристроїв не використовує її?
Mrunal

1
Я погоджуюся, що щільність однакова для 4, 5 і 6 айфонів, але як вирішити різні проблеми вирішення? Тож велика різниця 640x960 та 750 × 1334 пікселів. Якщо мені потрібно використовувати фонове зображення, яке перекриває весь екран. Як я можу встановити зображення xcassets у цьому випадку?
Матросов Олександр

@MatrosovAlexander як ти це вирішив?
Mário Carvalho

як вирішення, я використав зображення iphone 6 для @ 2x зображення, але це зірка, що в xcode немає відповідного зображення для цього
Матросов Олександр

Відповіді:


54

Я намагався у зразковому проекті використовувати стандартні зображення @ 2x та @ 3x, а імітатор iPhone 6+ використовує зображення @ 3x. Тож здавалося б, що потрібно зробити @ 3x зображення (якщо тренажер насправді повторює поведінку пристрою). Але дивна річ у тому, що всі пристрої (тренажери), здається, використовують це зображення в форматі @ 3x, коли воно також є в структурі проекту, а також 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.1 iPhone 5 він правильно використовує зображення @ 2x. Але при запуску того ж на iOS 8, він використовує @ 3x на iPhone 5. Не впевнений, що це розшукова поведінка чи помилка / помилка в iOS8 GM або тренажерах у Xcode 6.


2
Так, я перевірив на тренажері, усі пристрої знімають @ 3x зображення, справді заплутані
Bhumit Mehta,

Отже, підсумовуючи, що на сьогодні найкращим можливим шляхом буде використання "@ 2x" у назвах зображень, але якось перевірка пристрою на 6 Plus та використання 3x зображення БЕЗ "@ 3x", щоб не отруїти 2x пристрої?
darkheartfelt

Здається, що 3-кратний вибір на iPhone 6 трапляється лише в тому випадку, якщо відповідним активом є JPG замість PNG.
emreberge

102

ОНОВЛЕННЯ:

Нове посилання на розмір зображення значків за яблуком.

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, як описано нижче:

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


8
якщо всі пристрої сітківки 2x або 3x, чому каталог активів запитує 1x зображення в проектах для націлювання на iPhone лише на iOS 7/8? Не має сенсу.
Качка

1
може бути, що для iphone4 @RubberDuck :) дивіться, що ipad 2 та iPad Mini, які потребують 1x
Nitin Gohel,

вибачте, але ви не прочитали те, що я написав. Я говорю про проект тільки для iPhone для iOS 7. Немає iphone з 1x, який би запускав iOS 7, але каталог активів все-таки просить про це.
Качка

@RubberDuck Виберіть об'єкт зображення та перегляньте панель утиліт у правій частині Xcode. На одній з вкладок є набір прапорців. Можливо, у ваших активах (ів) встановлено занадто багато прапорців, у результаті чого 1x відображається як опція.
rmaddy


10

Я протестував, зробивши зразок проекту, і всі тренажери, здається, використовують зображення 3x, це заплутано.

Створіть різні версії зображення у каталозі активів, щоб саме зображення підказало, яка саме версія:

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

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

Те саме відбувається, якщо зображення малюються з пакету додатків, використовуючи їх імена (наприклад, one.png , one@2x.png та one@3x.png ), зателефонувавши imageNamed:та призначивши у вигляді зображення.

(Однак є різниця, якщо ви призначите зображення перегляду зображень у програмі Interface Builder - версія 2x ігнорується на пристроях подвійної роздільної здатності. Це, мабуть, помилка, мабуть, помилка pathForResource:ofType:.)


1
Ви позначили актив як "універсальний", тому ви бачите послідовну поведінку. Спробуйте вибрати натомість "конкретний пристрій" у спадному меню!
Микола Спасов

1
@RalphZhouYuan Зараз це добре працює для мене. Ви не побачите перелічену версію 2x , але просто призначте 1x версію, і 2x або 3x версія буде правильно використана. Або просто скористайтеся каталогом активів.
матовий

1
@RalphZhouYuan Ось мій приклад для завантаження: github.com/mattneub/Programming-iOS-Book-Examples/tree/master/… - він відображає як файли зображень у пакеті додатків, так і файли зображень у каталозі активів, і всі вони працюють правильно.
мат

3
@matt Я нарешті виявляю, що моя проблема пов’язана з налаштуваннями цільової розгортання (що становить 6,0) мого додатка. Я відкрив питання: stackoverflow.com/questions/26333278/… і запустив звіт про помилку в Apple.
inecii

1
@RalphZhouYuan Нічого собі, чудова робота, що відстежує це вниз! Дякуємо за повідомлення.
матовий

2

ios завжди намагатиметься зробити найкраще зображення, але повернеться до інших варіантів .. тому, якщо у вас у програмі є лише нормальні зображення, і для цього потрібні @ 2x зображення, він використовуватиме звичайні зображення.

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

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

можливо, краще створити активи в додатку з векторної графіки ... перевірте http://mattgemmell.com/using-pdf-images-in-ios-apps/


просто використовуйте дивовижний PaintCode для векторів у додатках
Fattie
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.