Видеть черные полосы вверху и внизу симулятора iPhone X


132

Запуская свое приложение в iPhone X Simulator (GM Seed), я заметил два странных эффекта:

  • Приложение не использует все пространство экрана (верхняя и нижняя области черные)
  • странная белая полоса под заголовком

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

Кто-нибудь знает, что здесь происходит и как это решить? Я не могу найти никаких новых настроек в Interface Builder.


1
Вы используете файл экрана запуска или изображения запуска? Вы используете автоматический макет?
rmaddy

1
Изображения запуска и автоматический макет
Darko

3
Почему вы используете старые изображения запуска вместо гораздо более простого файла экрана запуска? В любом случае, вы добавили новое изображение для запуска, необходимое для нового размера экрана?
rmaddy

Я не могу найти изображение запуска для iPhone размера X. Но использование стартового экрана решило обе проблемы. Измените свой ответ, и я помечу его как ответ. Спасибо!
Darko

5
НЕ СЛЕДУЕТ ИСПОЛЬЗОВАТЬ изображения запуска. USE Launch Screen.storyboardвместо
onmyway133

Ответы:


186

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

Для нового iPhone X требуется изображение для запуска размером 1125 × 2436 пикселей, что является 3-кратным изображением размером 375 × 812 пикселей.

Конечно, если вы переключитесь на использование файла экрана запуска вместо отдельных изображений запуска, ваше приложение автоматически адаптируется ко всем размерам устройств без каких-либо дополнительных действий.


2
не могли бы вы подробнее рассказать, как интегрировать новое изображение iphoneX в экран запуска? Любые наборы изображений, которые я добавляю в Xcode 9, не имеют слотов iphoneX, только наборы изображений для запуска.
Christian Cerri

1
@ChristianCerri Наборы изображений не привязаны к устройствам. Они просто дают вам варианты 1x, 2x и 3x. Я имел в виду запуск изображений. Это единственные изображения для конкретных устройств. Если у вас есть вопрос о добавлении изображений разного размера на экран запуска, опубликуйте свой вопрос, относящийся к этой проблеме.
rmaddy

19
Как, черт возьми, запускать изображения, связанные с черной полосой, сверху и снизу симулятора iPhone X ??!
TomSawyer

1
@TomSawyer Если ваше приложение не использует раскадровку экрана запуска, то изображения запуска определяют, какие размеры экрана поддерживает ваше приложение.
rmaddy

1
См. Ответ от @sabiland, если вы все еще видите черные полосы и используете экран запуска. Было бы здорово, если бы этот ответ можно было дополнить
лакомым

36

Я выяснил эти проблемы в iPhone X. Размер изображения для запуска (1125 * 2436 пикселей). Выполните следующие шаги. 1.i) Выберите имя проекта в Xcode. ii) Выберите цель проекта iii) Затем выберите Источник изображений для запуска введите описание изображения здесь

  1. Вы можете получить всплывающее окно Migrate i) Выберите активы ii) Выберите Migrate.

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

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

  2. Затем выберите Запуск изображения в активах i) Затем выберите инспектор атрибутоввведите описание изображения здесь

  3. наконец, проверьте источник изображения запуска. вы можете увидеть установленное изображение запуска.

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


Проголосовал за фотографии. Но вам следует убрать текст «LaunchScreen» из текстового поля «Файл экрана запуска» на последнем изображении.
NadtheVlad

Спасибо @NadtheVlad. Удалите текст «LaunchScreen» из файла экрана запуска и удалите файл LaunchScreen.Storyboard из Xcode.
Karthickkck

Спасибо! Это был флажок в альбомной ориентации из Launch Image, который вызывал проблему, поскольку мое приложение только портретное.
green0range 04

Спасибо, возникла та же проблема, и мы решили ее, добавив изображения запуска (приложение
Виктор


14

Я выяснил, как исправить (хотя я до сих пор не понимаю, почему это произошло только на iPhone X) раскадровку LaunchScreen на iPhone X с черными верхними и нижними полосами.

У меня есть раскадровка LaunchScreen с одним UIImageView.

Верх и низ UIImageView должны быть прикреплены к верху и низу SuperView . НЕ в SafeArea .


Это решило мою проблему с LauchScreen с Autolayout. Но вместо того, чтобы прикреплять к границам, я центрировал по горизонтали и вертикали и равнял ширину / высоту SuperView.
Юрий Нативидаде

Это сработало только после закрепления представлений в других раскадровках к верхнему / нижнему краю представления, а не к направляющим макета. Обязательно проверяйте раскадровки в режиме iPhone X.
Crashalot 09

почему я не вижу супервизора в моей раскадровке, когда я использую это ограничение
rd_

10

Я исправил это, просто вставив случайный текст в Lanch Screen Fileтекстовое поле. У меня даже нет файла экрана запуска ... XCode так глючит.

Обновить

Хотя это исправляет это в симуляторе (все еще очень странно и неожиданно), при загрузке двоичного файла в iTunes Connect он завершится ошибкой из-за того, что не найден файл LanchScreen с именем "random-name"


Правильно, он работает на iphone x. но он не работает для других устройств, братан.
Govaadiyo

Да да! это исправляет это в xcode. Спасибо! Этого достаточно для тестирования. Куплю настоящий iphone X, чтобы избежать проблемы с xcode в будущем для тестирования.
Филлис Сазерленд

5

Просто столкнулся с этим при попытке обновить приложение, над которым я давно не работал.

В Xcode 9.4 я смог исправить это, выполнив следующие действия:

  1. Добавьте экран запуска, перейдя в Файл -> Создать -> Файл ... -> Экран запуска.

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

  1. Убедитесь, что вновь добавленная раскадровка экрана запуска выбрана в качестве файла экрана запуска в настройках проекта.

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


1

Если у вас уже есть изображение для запуска размером 1125 × 2436 пикселей, но приложение все еще не использует полноэкранный режим, проверьте, является ли ваше изображение PNG.


1

если вы удалили LaunchScreen.storyboard; Выберите свой проект, выберите цель проекта, Общие -> Значки приложений и изображения запуска -> Файл экрана запуска: выберите здесь Main.storyboard вместо LaunchScreen.storyboard


1

Просто была эта проблема ... Когда я выбрал проект и правильную цель, у меня был пробел для «файла экрана запуска» под значками приложений и вкладкой изображений экрана запуска. Я установил для него LaunchScreen по умолчанию, и проблема изменения размера, с которой я столкнулась, была решена.


0

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


выберите Laaunchscreen.storyboard в целом, я решил проблему.
Акиб Зарин,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.