Используйте одну фотографию для графики 1x и 2x на iPhone - PullRequest
0 голосов
/ 21 декабря 2011

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

Какая процедура для этого и как мне подобрать фотографии по размеру?Проблема у меня в том, что графика имеет размер экрана сетчатки, но iPhone не интерпретирует их как таковые.Это означает, что они отображаются в два раза больше, чем должны быть.

Ответы [ 2 ]

0 голосов
/ 21 декабря 2011

Для обычного экрана вы можете изменить их размер программным способом, добавив категорию масштаба в класс UIImage, например, есть много примеров кода в stackoverflow, например:

Изменение размера UIImage (масштабная пропорция)

Для сетчатки вам необходимо установить масштаб UIImage, чтобы ios знал, для какого размера экрана он используется (вы можете установить это с помощью initWithCGImage: scale: direction: method of UIImage).

0 голосов
/ 21 декабря 2011
CGImageRef cgImage = [myImage cgImage];
UIImage *retinaImage = [UIImage imageWithCGImage:cgImage scale:2.0 orientation:UIImageOrientationUp];

Вы также можете изменить значение dpi вашего изображения в графическом редакторе, чтобы UIImage автоматически распознал масштаб.

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

...