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

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

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

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

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

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

Ответ 1

@Fantina @Goles Я смог временно исправить это, создав и добавив файл [email protected] с разрешением 640x1136. Затем я обновил раздел "Приложения и запуск изображений", чтобы выглядеть так:

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

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

Ответ 2

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

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

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

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

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

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

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

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

Ответ 3

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

Ответ 4

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

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

Ответ 5

Я столкнулся с этим после обновления до xcode 9. Интересно, что приложение выглядело отлично при работе на симуляторах, но показало черную полосу внизу при работе на подключенном устройстве. В меню, выбрав продукт, а затем удерживая Option → clean build folder, исправил проблему для меня.