Установка одного и того же стартового изображения для обеих ориентаций:
- Добавьте изображение к виду основного контроллера вашего
LaunchScreen.storyboard
и ограничьте все края до superview (небезопасная зона)
Примечание: Чтобы изменить ограничение, которое ссылается на SafeArea, вы можете дважды щелкнуть его в инспекторе и изменить соответствующийвещь.Вот несколько скриншотов для справки
Установите режим содержимого изображения таким образом, чтобы он масштабировался соответствующим образом (например, масштаб для заполнения или заливка аспекта)
Настройка должна выглядеть следующим образом (вы можете включить предварительный просмотр справа, щелкнув по кнопкередактор помощи и переключение с Automatic
на Preview
):
Установка различных стартовых изображений в зависимости от ориентации:
- Нажмите кнопку
+
рядом с вашим изображением
Добавить настройку для
regular width
&
compact height
Ваша установка должна выглядеть следующим образом:
Обновление: А как насчет iPad?
К сожалению, кажется (хотя бы до Xcode10.1) Невозможно настроить экран запуска таким же образом для iPad по нескольким причинам.Основным является то, что iPad Regular x Regular
для портретной и альбомной ориентации.Другая причина в том, что вы не можете использовать пользовательские классы в вашем LaunchScreen.storyboard
.Потому что, если бы вы могли, вы могли бы создать подкласс UIImageView
и переопределить traitCollection
чем-то вроде этого (по существу, вы бы восприняли iPad как класс iPhone):
override public var traitCollection: UITraitCollection {
if UIDevice.current.userInterfaceIdiom == .pad && UIDevice.current.orientation.isPortrait {
return UITraitCollection(traitsFrom:[UITraitCollection(horizontalSizeClass: .compact), UITraitCollection(verticalSizeClass: .regular)])
}
return super.traitCollection
}
Кстати, вывсе еще можете использовать код, подобный приведенному выше, в остальной части приложения для ваших окон / представлений, если вы хотите решить подобные проблемы.
Я знаю, что это не то, что вы искали в ответе, но ябоюсь, что (пока) вам придется использовать статические изображения в вашем Assets
для работы с iPad.