Существует два варианта настройки фоновых изображений для разных устройств.
1-) Установка UIImageView
режима содержимого на .aspectFill
.При настройке этого свойства ваше изображение будет обрезано для различных соотношений сторон, но исходное соотношение сторон будет защищено.Я рекомендую эту опцию, если вы используете повторяющиеся изображения для фона.
2-) Установка двух разных файлов активов для разного соотношения сторон и разрешения.Если вы выберете эту опцию, в коде вам нужно будет проверить устройство и установить соответствующий актив изображения.
let image: UIImage!
if UIDevice().userInterfaceIdiom == .phone {
switch UIScreen.main.nativeBounds.height {
case 1920, 2208:
print("iPhone 6+/6S+/7+/8+")
image = UIImage(named:"StandartBackground.png")
case 2436:
print("iPhone X, XS")
image = UIImage(named:"XBackground.png")
case 2688:
print("iPhone XS Max")
image = UIImage(named:"XSBackground.png")
}
}
Совет: Общий и правильный способ - это первый вариант, но будут случаи, которые его не подойдут.Поэтому старайтесь избегать второго варианта, но если другого варианта нет.Поместите все различные пропорции в разные файлы активов.