Приложение 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 -> очистить папку сборки, проблема была решена для меня.