Подтвердить что ты не робот

Запустить экран, который ведет себя точно так же, как Launch Image

Чтобы заставить iPad Pro использовать полное разрешение при запуске, мы должны использовать файл экрана запуска.

Я никогда раньше не использовал Xbox/Storyboard экрана запуска, потому что мое приложение обратно совместимо с iOS 7. Обычно я использую Каталог активов LaunchImage для определения конкретного статического изображения для каждого измерения устройства и ориентации запуска.

Теперь я пытаюсь определить файл экрана запуска, который действует как каталог активов LaunchImage, но я изо всех сил стараюсь это сделать. В частности:

1) Я не вижу хорошего способа выбрать другой UIImage в зависимости от точного размера устройства, например. показать одно изображение пользователям iPhone 4S и другое изображение для пользователей iPhone 5.

2) Я не вижу способа выбрать другой стиль UIImage для iPad Portrait и iPad Landscape. В классах размера кажется, что и iPad Portrait, и iPad Landscape являются "Regular" width и "Regular" height, поэтому любой UIImage, который будет отображаться в iPad Portrait, также будет отображаться в iPad Landscape.

4b9b3361

Ответ 1

Система загружает файл запуска перед запуском приложения, которое создает некоторые ограничения на то, что он может содержать (некоторые из которых могут заставить вас вернуться к статическим файлам изображений):

1. Приложение еще не загружено, поэтому иерархия представлений не существует, и система не может вызвать какой-либо пользовательский код настройки контроллера просмотра, который может быть у вас в приложении (например, viewDidLoad)

2.Вы можете использовать только стандартные классы UIKit, чтобы вы могли использовать UIView или UIViewController, но не пользовательский подкласс. Если вы попытаетесь установить собственный класс, в Xcode вы получите неверную конфигурационную ошибку.

3. Файл запуска может использовать только базовые представления UIKit, такие как UIImageView и UILabel. Вы не можете использовать UIWebView.

4.Если вы используете раскадровку, вы можете указать несколько контроллеров представлений, но снова есть некоторые ограничения. Например, вы можете встроить контроллеры представлений в контроллер навигации или панели вкладок, но более сложные классы классов, такие как UISplitViewController, не работают (по крайней мере, пока).

5. Локализация файла запуска в настоящий момент не имеет никакого эффекта. Локализация базы всегда используется, поэтому вы, вероятно, захотите избежать текста на экране запуска.

6. Вы не можете указать разные файлы запуска для iPad и iPhone. Это может быть проблемой, если у вас есть значительно разные интерфейсы для этих устройств, поскольку есть только так много возможностей для макетов и классов размера.

Обратите внимание, что при развертывании на iOS 7 вам все равно придется включать статические файлы изображений запуска. Вы можете включить как файл образа запуска, так и статические изображения запуска. Такие устройства, как iPhone 6, работающий под управлением iOS 8, будут использовать файл образа запуска, в то время как устройства iOS 7 будут возвращаться к изображениям запуска.

Ответ 2

  • Сначала создайте все свои изображения. Затем откройте свой каталог активов и щелкните правой кнопкой мыши → Иконки приложений и запустите изображения → Новое изображение запуска iOS. Это создаст файл для перетаскивания всех ваших файлов. Сделай это. Назовите актива "Запуск". введите описание изображения здесь

  • Создайте новую раскладку экрана запуска с командой -n. Выберите iOS → Пользовательский интерфейс → Экран запуска. Вызовите файл "Запустить экран".

  • На раскадровке Launch Screen выберите вид диспетчера представлений

[selecting the view.

  1. Найдите местозаполнитель UIImageView из библиотеки объектов в нижнем углу правой части ba и перетащите его в экран запуска.

UIImageView

  1. Теперь выберите вид изображения в раскадровке и введите имя изображения из каталога активов.

введите описание изображения здесь

  1. Управляйте перетаскиванием из UIImageView в виде контейнера, чтобы настроить ограничения автоматического макета следующим образом:

введите описание изображения здесь

  1. Необязательно... если вы хотите, чтобы он выглядел красиво в вашем раскадровке, выберите представление и сделайте option-cmd- =, чтобы обновить фрейм UIImageView.

  2. Перейдите в свой info.plist и введите имя своего раскадровки ("Запуск Экран ") для ключа" Базовое имя файла интерфейса экрана запуска "

  3. Очистите и запустите.

Надеюсь, что это помогает и что я ничего не забыл!

Ответ 3

Вы можете использовать классы классов, чтобы указать разные изображения для разных размеров экрана, но это не поможет вам обрабатывать случаи экранов iPhone 4S и iPhone 5.

Ответ 4

Это решение для iPad, которое может работать,

для iPhone вы можете использовать классы размера, и я не размещаю это решение здесь.

Решение состоит в том, чтобы разбить изображение вашего заставки на компоненты и использовать ограничения для управления изображением для Portrait and Landscape.

Вот пример того, как я это сделал.

Создайте раскладку для iPad для iPad

UILaunchStoryboardName ~ ipad (UILaunchStoryboardName ~ iphone)

Возьмите свой ландшафтный образ в моем случае 2048x1536

Я взял ландшафтное изображение и разрезал его на три

  • Центр 1536x1536
  • Левый 256x1536
  • Правый 256x1536

На раскадровке запуска я создал 3 вида изображений со следующими ограничениями

Center Piece:

  • Пин вверх и вниз,
  • центр в режиме просмотра,
  • поддерживать соотношение сторон

Левая и правая части:

  • 0 Трейлинг/ведущий к центру,
  • Выровнять верх,
  • Равная высота

Затем для режима просмотра слева и справа я изменил его с заполнения аспекта на нижний правый и нижний левый (работал лучше для меня)

Я знаю, что это кажется излишним для чего-то, что должно быть простым. Моя причина использовать стартовый раскадровки над изображениями запуска заключалась в сокращении размера приложения. Мне было нужно меньше изображений запуска, и я мог бы использовать jpeg, а не png