iphone 6 против iphone 5 image Соглашение об именах

ios objective-c iphone xcode uiimage

12600 просмотра

2 ответа

Как установить соответствующий MYimage.png для MyimageView в Xcode 6 с ios 8.x совместимостью.

MyimageView setImage:[UIImage imageNamed:@"MYimage.png"];

В Ресурсах у меня есть следующие изображения с разрешениями:

MYimage.png--320*480

MYimage@2x.png--640*960

MYimage-568h@2x.png--640*1136

MYimage-375h@2x.png--750*1334

MYimage-736h@3x.png--1242*2208

Для iPhone 4s это показывает: MYimage@2x.png [Right]

Для iPhone 5s это показывает: MYimage@2x.png [wrong]

Для iPhone 6 это показывает: MYimage@2x.png [wrong]

Для iPhone 6+ он показывает: MYimage@2x.png [wrong]

Но после переименования изображений, как указано ниже:

MYimage.png--320*480

MYimage@2x.png--640*960

MYimage-568h@2x.png--640*1136

MYimage-375h@2x.png--750*1334

MYimage@3x.png--1242*2208

Для iPhone 4s это показывает: MYimage@2x.png [Right]

Для iPhone 5s это показывает: MYimage@2x.png [wrong]

Для iPhone 6 это показывает: MYimage@2x.png [wrong]

Для iPhone 6+ он показывает: MYimage@3x.png [Right]

Итак, что за заявленный формат для реализации?

Примечание: также гуглил следующие ссылки и так далее ..

Автор: Vikas Rajpurohit Источник Размещён: 12.11.2019 09:14

Ответы (2)


9 плюса

Решение

iOS поддерживает только обозначения размеров для изображений запуска, например, на этой странице описано использование 3,5 ", 4" и iPad в формате Default-568h@2x.pngи т. д.

На самом деле вы можете только поддерживать @ 2x и @ 3x (см. Здесь ), что объясняет, почему на каждом из устройств, которые вы видите, он выбирает только pngs @ 2x и @ 3x.

Наконец, MYimage@Xx.png--w*hневерное обозначение размера тоже; эти файлы не будут прочитаны системой автоматически, когда вы ссылаетесь на изображение с именем MYimage.png; самое большее вы могли бы сделать MYimage@2x.pngи MYimage@3x.png.

Отвечая на ваш вопрос ниже:

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

Например:

iPhone 5       iPhone 6
|      |      |        |
|      |      |        |
|      |      |        |
|[bttn]|      |        |
|______|      | [bttn] |
              |________|

Если вы отображаете фотографию в UIImageView, вы можете просто создать самый большой размер и позволить ему либо уменьшить масштаб до iPhone 5 (использование UIViewContentModeScaleAspectFill), либо оставить его как есть (использование UIViewContentModeCenter).

В конце концов, вам действительно не нужно управлять конкретными измерениями для каждого отдельного устройства - уже, если вы включаете 2 ресурса высокого разрешения для каждого элемента, это много места для хранения. Добавлять по одному для каждого устройства не нужно, и Apple никогда не думала об этом.

Автор: brandonscript Размещён: 02.10.2014 12:48

9 плюса

Вам не нужно указывать размер экрана для изображения, а только его плотность.

Есть 3 группы плотности:

  • 1x: iPhone 3GS и предыдущий; iPod Touch 3-го поколения и предыдущий; iPad 2 и предыдущий; iPad Mini 1-го поколения;
  • 2x: iPhone 4, 4S, 5, 5S и 6; iPod Touch 4-го и 5-го поколения; iPad 3 и новее; iPad Mini 2-го поколения;
  • 3x: iPhone 6 Plus;

К каждой группе вы должны добавить изображение, названное шаблоном "file_name@density.ext", где плотность может быть опущена для 1x.

Примеры:

  • logo.png
  • logo@2x.png
  • logo@3x.png

Для лучшего использования и организации ваших ресурсов изображений вам следует рассмотреть возможность использования каталогов активов . Они также помогут вам понять, какие размеры изображений вам понадобятся в зависимости от того, какие устройства вы будете поддерживать, и вам не нужно будет заботиться о каждом отдельном имени файла.

Автор: Guilherme Размещён: 02.10.2014 01:06
Вопросы из категории :
32x32