Универсальное приложение: LaunchScreen, не учитывающий ограничения построителя интерфейса при запуске в альбомной среде - PullRequest
1 голос
/ 24 апреля 2019

У меня проблемы с LaunchScreen.storyboard.

Мое приложение - Универсальное Приложение, Ориентация по умолчанию - Портрет , но также допускается альбомная ориентация.

Мой LaunchScreen очень прост.

UILabel с 2 ограничениями:

  • Выравнивание, ведущее в безопасную зону (с постоянной = 30)
  • Верхнее пространство до безопасной зоны (с постоянной = 30)

enter image description here

Когда я проверяю свой LaunchScreen внутри XCode с симулированными чертами (iPhone XR, iPad, Landscape, Portrait…), все выглядит нормально.

Когда я запускаю приложение в книжной ориентации все выглядит отлично .

Затем я переключаю симулятор (или реальное устройство) на landscape и перезапускаю приложение.

На этот раз UILabel не соблюдает свои ограничения . Этикетка касается черной выемки, а верхнее пространство кажется вдвое больше определенного размера.

enter image description here

У вас есть такая же проблема? Как я могу это исправить?

Ответы [ 2 ]

0 голосов
/ 25 апреля 2019

Apple описывает это в своей документации следующим образом:

Во время запуска приложения всегда должны устанавливать свой интерфейс в портретной ориентации.После того, как приложение (_: didFinishLaunchingWithOptions :) возвращается, приложение использует описанный выше механизм поворота контроллера представления, чтобы повернуть представления в соответствующую ориентацию перед отображением окна.

Поэтому я считаю, что поведениеЯ боюсь, что вы не особенно поддерживаете Apple.Как примечание, я не совсем уверен, как они поддерживают это на iPad.

0 голосов
/ 24 апреля 2019

Примените ограничения к вашему UILabel согласно моему скриншоту ниже: -

enter image description here

Кроме того, в вашем проекте Цель установить Информация о развертывании : -

enter image description here

Если вы хотите изменить UILabel кадр, то спросите меня.

...