Скрытие / отображение строки состояния - PullRequest
5 голосов
/ 16 сентября 2009

Я разрабатываю приложение для iPhone, которое переключается с представления таблицы в полноэкранный режим просмотра в альбомной ориентации (аналогично приложению YouTube). Когда это произойдет, я хочу скрыть строку состояния, а затем снова отобразить ее при переключении обратно в представление таблицы. Я использую setStatusBarHidden, но это, кажется, просто скрывает строку состояния без увеличения области экрана; там все еще есть пустая строка, где была строка состояния. Если установить свойство скрытой строки состояния в Info.plist, тогда я получу увеличенную область экрана, но когда строка состояния отображает ее, она перекрывает вид.

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

ТИА.

Крейг

PS: я копирую / редактирую этот вопрос из обсуждения приложения. не найти хорошего решения http://discussions.apple.com/thread.jspa?threadID=1580662&start=15&tstart=0

Ответы [ 2 ]

11 голосов
/ 16 сентября 2009

В вашем контроллере вида должно быть wantsFullScreenLayout, установленное на ДА, а также скрытие строки состояния: см. Справочник по UIViewController .

1 голос
/ 04 января 2012

Если есть кто-то, кто ищет решение, в котором вышеприведенное решение не работает (и все еще есть раздражающий синий разрыв в 20px вверху), попробуйте поместить это в viewWillAppear в файле реализации контроллера представления, который вы бы хотели как строка состояния, которая будет скрыта.

self.navigationController.navigationBar.frame = CGRectOffset(self.navigationController.navigationBar.frame, 0.0, -20.0);

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...