2016-03-21 3 views
0

Я разрабатываю портрет приложение разрешения, которое будет поддерживать все экраны iPhone. Я не масштабирование, поэтому я должен удовлетворить каждый размер экрана. iPhone 6 плюс есть 1242 х 2208 (@ 3x) для портрета и iPhone 6 имеет 750 х 1334 (@ 2x) для портрета.iOS- Ресурс изображения для iPhone 6 и 6 плюс

Обычно я бы создал полноразмерное изображение графика в 320 @ 1x, 640 @ 2x и 960 @ 3x. Но теперь это не сработает. Должен ли я сделать полный размер ширина размерные изображения отдельно для каждого разрешения?

Как я создал бы 640 @ 2x для iPhone 5s или ранее и 750 @ 2x для iPhone 6 и 1242 @ 3x для iPhone 6 плюс.

Нужно ли делать разные изображения на каждые разрешение? Я иду в правильном направлении или есть лучшее решение ?

ответ

1

В iPhone 6 и iPhone 5 используются те же изображения @2x, но по мере того как разрешение на обоих устройствах отличается, лучше всего использовать разные изображения для обоих.

На iPhone 6, если изображение iPhone 5 будет загружено, вы увидите некоторые искажения.

С другой стороны, если у вас есть изображение 750 x 1334 (@ 2x) для iPhone 6, и если вы загрузите этот ионный iPhone 5 или 4, вы увидите сжатие изображения, так как оно имеет более высокое разрешение.

Но проблема в том, что если вы поместите оба iPhone_5 @ 2x и iPhone_6 @ 2x, то Xcode не будет загружать какое изображение на какое устройство. Итак, для этого я создал функцию для дифференциации изображений во время выполнения.

//MARK: Load Images for particular device 
func getDeviceSpecificImage(imgName: String) -> String{ 

var imageName: String? 

    switch UIScreen.mainScreen().bounds.width{ 

     case 320: 
      imageName = String(format: "%@[email protected]", imgName) 

     case 375: 
      imageName = String(format: "%@[email protected]", imgName) 

     case 414: 
      imageName = String(format: "%@[email protected]", imgName) 

     default: 
      break 
    } 

    return imageName! 
} 

Надеюсь, что это поможет!

Смежные вопросы