Соображения о строке состояния с iOS7 и предыдущими версиями iOS

Я заметил, что мое приложение для iPhone ведет себя по-разному между версией iOS7 и предыдущей версией iOS. Конечно, есть очевидная разница (стиль), но я говорю о закодированной логике, которая зависит от того, видна строка состояния или нет.

В предыдущих версиях, когда я рассчитывал высоты и вертикальные местоположения (для различных целей макета / положения), мне приходилось учитывать строку состояния (высота которой составляет 20 «пикселей»). Например, поскольку в моем приложении отображается статус, мне пришлось учитывать 20 пикселей (поскольку Y-позиция 0 была не самой верхней частью экрана, а скорее 21-м пикселем (под строкой состояния).

Но теперь, в iOS7, кажется, что это уже не так (Y-позиция 0 — это верхняя часть строки состояния).

Надеюсь, я ясно объясняю это. И я надеюсь, что кто-то может направить меня к лучшему пониманию того, что здесь происходит.


person AlvinfromDiaspar    schedule 14.01.2014    source источник


Ответы (1)


В предыдущей версии iOS мы не могли ничего изменить в строке состояния, кроме ее цвета, и 20 точек пространства были зарезервированы для строки состояния в вашей иерархии представлений. В iOS7 строка состояния становится прозрачной, и теперь вы можете использовать пространство в 20 точек.

Но если вы используете контроллер навигации, вам не нужно сильно беспокоиться об этой проблеме. Когда присутствует UINavigationController, UINavigationBar автоматически помещается под строку состояния. В этом случае внешний вид строки состояния будет зависеть исключительно от панели навигации под ней, и если вы хотите что-то изменить в строке состояния, вы также должны изменить панель навигации.

Вы можете прочитать больше в этой официальной документации< br> или
в этом блог.

person Puneet Sharma    schedule 14.01.2014