2014-01-14 3 views
0

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

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

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

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

ответ

0

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

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

Вы можете прочитать больше in this official documentation
или
in this blog.

Смежные вопросы