Приложение iOS9 имеет черные полосы сверху и снизу

Мое приложение не использует автоматическую разметку, изначально оно было разработано для iPhone 4/4s, и с тех пор пользовательский интерфейс практически не затрагивался. Компоновка довольно минимальна, поэтому переключение ее в автоматическое расположение не считается приоритетом.

Раньше при сборке iOS8 мое приложение масштабировалось на iPhone 5 и выше, заполняя весь экран. Сам вид будет заполнять весь экран, а значки будут пропорционально масштабироваться (чтобы они не были искажены). однако теперь кажется, что при использовании бета-версии iOS9 приложение получает черные полосы сверху и снизу, и в основном отображается как масштабированное приложение iPhone 4, в результате чего черные полосы сверху и снизу.

В принципе, я хочу, чтобы он просто масштабировался до полного экрана, так же, как это было в iOS8. Может ли кто-нибудь пролить свет на то, что изменилось, что вызвало эти черные полосы?

Я должен добавить, что если он собирается с использованием xcode 7 (ios9 xcode) и развертывает устройство с iOs8, он работает нормально, проблема заключается в развертывании на устройствах iOS9.

Теперь приложение выглядит на iOS9, красная область - это полезное пространство приложений, тогда как раньше он был всего размера (обратите внимание на черные полосы).

5 ответов

Решение

@Fantina @Goles Мне удалось временно это исправить, создав и добавив Default-568h@2x.png файл с разрешением 640x1136. Затем я обновил раздел "Значки приложений и запуска изображений", чтобы он выглядел следующим образом:

Нет источника изображения или файла экрана запуска

Я не думаю, что это долгосрочное решение, потому что для совместимости с iOS9 и приложениями с разделенным экраном Apple требуется раскадровка или файлы xib. Это затрудняет работу разработчиков, которые полагаются исключительно на программирование представления / компоновки. Urgh.

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

Добавить Launch Screen File в ваш проект (я скопировал один из другого более нового проекта, который у меня есть), и все, теперь приложение снова использует весь экран.

Чтобы добавить Launch Screen File сначала создайте файл xib, используйте UIView и заполните всем, что хотите.

Затем вы должны выбрать проект в левой части экрана, выбрать цель приложения (не проект), на вкладке общего поиска App Icons and Launch Images и поместите имя XIB, которое вы только что создали Launch Screen File,

Проблема в том, что это активирует Size classes в интерфейсе приложения, поэтому вы должны просмотреть интерфейс вашего приложения, потому что масштабирование больше не работает.

PS: я использую Xcode 7.0 GM

У меня была похожая проблема, и я решил ее, настроив Main.storyboard как файл экрана запуска на экране конфигурации приложения. Это заставило все экраны уместиться на весь экран.

Вы можете добавить раскадровку LaunchScreen: File/New/File..., а затем в группе iOS выберите UserInterface/Launch Screen.

Затем выберите его в качестве стартового экрана для своего приложения, как объяснено в ответе Fantini. Это с Xcode 7.0

Я столкнулся с этим после обновления до xcode 9. Интересно, что приложение работало нормально на симуляторах, но показывало черную полосу внизу при работе на подключенном устройстве. В меню выбора продукта, а затем удерживая Option -> очистить папку сборки, проблема была решена для меня.

Другие вопросы по тегам