Соглашение об именовании изображений iphone 6 и iphone 5
Как установить соответствующий 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]
Итак., Какой заявленный формат реализовать?
Примечание: также погуглил следующие ссылки и так далее..
2 ответа:
IOS поддерживает только обозначения размера для изображений запуска, например эта страница описывает использование для 3.5", 4" и iPad в формате
На самом деле вы можете поддерживать только @2x и @3x (см. здесь), что объясняет, почему на каждом из устройств, которые вы видите, он принимает только @2x и @3x pngs.Default-568h@2x.png
и т. д.Наконец,
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 никогда не предполагала, что это произойдет.
Вам не нужно указывать размер экрана, для которого предназначено изображение, а только его плотность.
Существует 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;
К каждой группе следует добавить изображение с именем pattern
"file_name@density.ext"
, где плотность может быть опущенным для 1x.Примеры:
- логотип.png
- logo@2x.png
- logo@3x.png
Для лучшего использования и организации ваших ресурсов изображений, вы должны рассмотреть возможность использования каталогов активов. Они также помогут вам понять, какие размеры изображений вам понадобятся в зависимости от того, какие устройства вы будете поддерживать, и вам не нужно будет заботиться о каждом отдельном имени файла.