Веб-сервис Core Data + - как управлять изображениями сетчатки

Просто используя только Core Data, я могу прочитать в plist-файле и установить изображение для объекта следующим образом:

[itemObject setValue:[UIImage imageNamed:[item valueForKey:@"image"]] forKey:@"image"];

Этот код автоматически выберет версию файла Retina (@2x) в комплекте приложений, если устройство имеет дисплей Retina.

Как я могу справиться с этим, если вместо этого я получаю изображение из веб-службы? Я полагаю, мне нужно загрузить как 1x, так и 2x изображения в веб-сервис. Поэтому я создаю два отдельных поля для элемента, например image-lowRes и image-highRes, и проверяю устройство перед тем, как запрашивать данные изображения? Я полагаю, что это распространенный сценарий, поэтому я надеюсь, что кто-то может дать какой-то совет из опыта о том, как это сделать.

1 ответ

Решение

Вы захотите передать плотность устройства вашему веб-сервису и, возможно, иметь три версии ваших графических ресурсов: 1x, 1,5x и 2x. 1,5x с учетом Android.

Используя соглашение об именах Android, вы можете хранить их в папках mdpi, hdpi и xhdpi, хотя эти детали полностью на ваше усмотрение.

Другие вопросы по тегам