Почему на симулятор Ipad не подгружаются файлы для UI c подписью @2x?

Дело в том, что на iPad c разрешением экрана 768x1024 подгружаются обычные имеджи, как для айфона. А с iPad c разрешением экрана 1536x2048 все в порядке, тоже симулятор. Из-за чего так происходит и каким образом выйти из положения?
  • Вопрос задан
  • 2542 просмотра
Решения вопроса 1
Lonkly
@Lonkly
Используйте специальную папку Assets, так вы сразу увидите какие ресурсы и для каких разрешений у вас в наличии. @2x только для ретина дисплеев
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Trow_eu
@Trow_eu
так первый - не ретина, а 2х для ретин подгружается. добавьте в медиа для его разрешения набор 2х.
Ответ написан
@l0gg3r
Вот базовая имплементация +[UIImage imageNamed:]

+ (UIImage *)imageNamed:(NSString *)aImageName
{
    NSData *imageData;
    if ([UIScreen mainScreen].scale == 2.0) {
        imageData = [NSData dataWithContentsOfFile:[aImageName stringByAppendingString:@"@2x"]];
    } else {
        imageData = [NSData dataWithContentsOfFile:aImageName];
    }
    return [UIImage imageWithData:imageData];
}


Она проверяет экран на retina и загружает @2x.
но вы можете сделать swizzle метода +[UIImage imageNamed:], и там загрузить картинку своим способом (как вам удобно).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы