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

мое приложение не использует Auto layout, он был первоначально разработан для 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. Затем я обновил раздел "значки приложений и запуск изображений", чтобы выглядеть так:

No Image Source or Launch Screen File

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


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

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

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

enter image description here

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

enter image description here

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

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


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


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

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


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