2014-11-02 3 views
6

Я использую Каталог активов, который включает в себя изображения обоих: 2x, Retina 4 2x и 3x. Все эти файлы используются в правильных устройствах iPhone 4, 4s => 2x, iPhone 5, 5s => Retina 4 2x, iPhone 6+ => 3x, но iPhone 6, который использует 2x вместо Retina 4 2x. Кто-нибудь сталкивался с этой проблемой?Каталог активов изображения типа Retina 4 2x не представлены на iPhone 6

Благодаря

[Отредактировано текст] Набор изображений общее изображение, а не экран запуска. Независимо от того, пользуюсь ли я универсальными или настройками устройства, и независимо от того, выбираю ли я, что 2x Retina 4 составляет 1334 или 1136, изображение, представленное на iPhone 6, является одним из обычных 2x.

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

--------------- Снимок экрана симулятора (iPhone 6): ---------------

Simulator

--------------- Снимок экрана с помощью устройства, включая 568: ---------------

Device with 568

--------------- Снимок экрана настроек с устройства, включая 667 ---------------

Device with 667

--------------- снимок экрана настройки с универсальным --------------- Universal

--------------- Снимок экрана ь множества изображений (настройки устройства & 667 высота изображения) --------------- enter image description here

--------------- снимок экрана на стартовую площадку ---------------- enter image description here

+0

Можете ли вы показать скриншот вашего каталога активов, ваш вопрос не является очень ясно, и это может помочь. – Abizern

+0

Вы говорите об изображениях запуска, знаках приложений или общем изображении? – rmaddy

+0

Я ответил на ваши вопросы, отредактировав исходный вопрос – Shachar

ответ

0

Я считаю, что это известная проблема с настройками конкретного устройства в каталоге активов. Вместо этого используйте универсальные настройки (1x, 2x и 3x). IPhone 5, 5s и 6 будут использовать все 2x, и все будет хорошо.

+0

Спасибо, но я тоже пробовал это, но результат тот же – Shachar

+0

Позвольте мне спросить вас: не забыли ли вы создать выделенный образ запуска iPhone 6 (или использовать начальный образ xib/раскадровки)? Потому что, если вы этого не сделали, ваше приложение расширяется на iPhone 6 и обрабатывается так, как если бы это было другое устройство. – matt

+0

Да, я только что добавил снимок экрана в исходном сообщении – Shachar

3

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

Да, я думаю, что это может быть известная проблема. Я не думаю, что вы можете сделать это с помощью каталога активов.Я закончил тем, что делал это, как этот парень здесь: https://stackoverflow.com/q/25892207/342756

Мое приложение является пейзаж, БДН мой фоновое изображение, которое заполняет весь экран в родном разрешении я просто назвать как этот:

[UIImage imageForDeviceWithName: @ «myBackground» ];

А вот список файлов и разрешения для "myBackground" (опять ландшафтном):

Я больше не поддерживаю 1x. Это в значительной степени охватывает все устройства iOS 7 и iOS 8. Надеюсь это поможет.

Cheers!

+0

Это решение также хорошо работает с xcode7, который полностью удаляет ресурсы retina4 (почему?) Есть другой способ). По умолчанию загружаются изображения @ 2x, которые сопоставьте iphone4 и 4s, а не изображения для более высоких устройств. Я имею в виду полноэкранные изображения, такие как фон (не запуск изображений) – pechar

1

Это работает в Xcode v7.3 и проверяется в симуляторе iPhone 4s с iOS v9.3.

Чтобы избежать проблем масштабирования, я сделал следующее:

В моих Images.xcassets, я создал два Изображения Sets:
intro_screen
intro_screen_4

В intro_screen я включил следующие изображения
1x 320x480
2x 750x1334
3x 1242x2208

В intro_screen_4 я включил только изображение для iPhone 4
2x 640x960

В моем коде, я сделал следующее:

int screenHeight = [ [ UIScreen mainScreen ] bounds ].size.height; 

if(screenHeight == 480) 
{ 
    image = [UIImage imageNamed:@"intro_screen_4" ]; 
} 
else { 
    image = [UIImage imageNamed:@"intro_screen" ]; 
}