Раскадровка экрана запуска обрезана строкой состояния In-Call

У меня есть простая экран запуска раскадровка. Это UINavigationController с UITableViewController в качестве корня. Он просто показывает правильный UITitleBar для приложения.

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

Обрезанный экран обеда

Могу ли я исправить это отсечение запуска?

Что-то, что я заметил, это то, что раскадровка экрана запуска, похоже, не предоставляет верхних и нижних направляющих макета. Я не уверен, что это актуально.

Вот скриншот раскадровки экрана запуска:

запустить раскадровку экрана.

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


person Benjohn    schedule 29.09.2015    source источник
comment
У меня очень похожая проблема. В моей раскадровке экрана запуска ничего нет, я просто изменил цвет фона представления верхнего уровня. То, что я получаю при запуске с помощью строки состояния во время вызова, представляет собой цветное представление с черной полосой шириной 20 пикселей (полная ширина) в самом низу экрана.   -  person Swany    schedule 01.10.2015
comment
Похоже, это упоминается здесь: stackoverflow.com/a/9204917/4503700   -  person Charles Truluck    schedule 13.10.2015
comment
Я не думаю, что это тот же @CharlesTruluck, так как раскадровка экрана запуска не имеет фиксированного размера. Спасибо за предложение.   -  person Benjohn    schedule 13.10.2015
comment
Вы используете AutoSizing?   -  person Charles Truluck    schedule 13.10.2015
comment
@CharlesTruluck Я не знаю, как мне проверить?   -  person Benjohn    schedule 13.10.2015
comment
другими словами, используете ли вы раскадровки с разными размерами телефонов, ограничениями и т. д.?   -  person Charles Truluck    schedule 13.10.2015
comment
Не могли бы вы опубликовать скриншот раскадровки и зафиксировать как можно больше деталей ограничений макета (если они есть)? Спасибо!   -  person gabriel_101    schedule 14.10.2015
comment
@CharlesTruluck Правильно - это класс единого / универсального размера. То есть любой, любой.   -  person Benjohn    schedule 14.10.2015
comment
@ gabriel_101 Я добавил снимок экрана — хорошая мысль. Это настолько просто, насколько это возможно. Просто контроллер навигации с контроллером таблицы в качестве корня. Ограничений нет вообще.   -  person Benjohn    schedule 14.10.2015


Ответы (1)


Кажется, я нашел решение.

Вот моя раскадровка с ограничениями:

Раскадровка

По сути, у вас нет никаких ограничений для Table View. Во-первых, вы должны отключить свободную форму, перейдя в Инспектор размеров -> Фиксированный.

Затем нажмите на свой Table View и нажмите кнопку ограничения «квадрат с линиями» и установите для него следующее:

Ограничения

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

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

person Charles Truluck    schedule 14.10.2015
comment
Добавленные вами ограничения кажутся мне правильными, а также необходимыми. Они гарантируют, что табличное представление будет изменено в соответствии с его родительским представлением (представление контроллера представления). - person gabriel_101; 14.10.2015
comment
Кажется, что у многих людей есть проблемы с авторазмером. Хотя это далось мне легко... Я нахожу их полезными. - person Charles Truluck; 14.10.2015
comment
Привет, @CharlesTruluck. Спасибо за ответ. Пойду разбираться. Обратите внимание, что на изображении выше вы показали раскадровку времени выполнения, а не раскадровку экрана запуска. В моей раскадровке экрана запуска нет направляющих макетов. - person Benjohn; 15.10.2015
comment
Правильно — Interface Builder не позволяет мне добавлять какие-либо ограничения к раскадровке экрана запуска. Когда вы говорите об авторазмере, вы имеете в виду автоматическую компоновку по ограничениям или, кстати, что-то, связанное с классами размеров? - person Benjohn; 15.10.2015
comment
Кстати, переключение на сцены фиксированного размера не позволило добавить ограничения. - person Benjohn; 15.10.2015
comment
@CharlesTruluck - я просмотрел пример проекта, спасибо за ваше усердие в его предоставлении. Тем не менее, раскадровка экрана запуска не была изменена по сравнению с шаблонными проектами по умолчанию, поэтому невозможно увидеть, настроена ли она для размещения строки состояния вызова или нет — я подозреваю, что нет. - person Benjohn; 15.10.2015
comment
Ах, позвольте мне исправить мой ответ. - person Charles Truluck; 15.10.2015
comment
@CharlesTruluck Тебе это понравилось? - person Benjohn; 16.10.2015
comment
Извините, я пытался понять это уже несколько часов, я могу связать вас с некоторыми ресурсами, которые я нашел, но сам не нашел обходного пути. - person Charles Truluck; 16.10.2015
comment
@CharlesTruluck Спасибо, что попробовали! Хотя я подозреваю, что это невозможно. - person Benjohn; 19.10.2015
comment
@Benjohn Мне самому это очень интересно. Apple просто дура. Если вы хотите, я могу подать радар с этим как запрос функции. - person Charles Truluck; 19.10.2015
comment
@CharlesTruluck О, пожалуйста! Будь моим гостем :-) - person Benjohn; 19.10.2015