Подтвердить что ты не робот

Ограничения UIScreen по сравнению с applicationFrame

Почему я вижу в некотором примерном коде Apple (например, PhotoScroller), что я должен сделать следующее в loadView:

CGRect frame = [[UIScreen mainScreen] bounds]; 

вместо

CGRect frame = [[UIScreen mainScreen] applicationFrame]; 

Имеет ли значение получить основную рамку экрана?

4b9b3361

Ответ 1

ApplicationFrame - это размер экрана за вычетом размера строки состояния (если видимый), границы - это размер экрана независимо от строки состояния.

Итак, applicationFrame вернет CGRectMake(0,0,320,460), предположив, что ваше приложение имеет строку состояния, которая должна быть видимой, а границы возвращают CGRectMake(0,0,320,480) при тех же условиях. Эти цифры предполагают размеры экрана iPhone/iPod Touch.

Справочник по классу UIScreen

Ответ 2

Обновление iOS 9

При использовании функции Split View на iPad, applicationFrame возвращает размер окна вашего приложения. bounds всегда возвращает размер устройства.