Избегайте жесткого кодирования размера экрана iPhone с программным представлением

Я искал, как создать представление программно, и нашел следующий пример кода:

self.view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];

Это отлично работает, за исключением того, что мне не нравится, что он жестко кодирует размер экрана. Есть ли способ посмотреть размер экрана? Важным моментом, который кто-то поднял, является то, что если приложение работает во время телефонного разговора, тогда экран будет немного меньше из-за зеленой полосы "возврат к вызову".

Ответ 1

Есть ли способ посмотреть размер экран?

Да:

CGRect screenRect = [[UIScreen mainScreen] applicationFrame];

applicationFrame

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

Ответ 2

[[UIScreen mainScreen] bounds] или [[UIScreen mainScreen] applicationFrame]

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

Я сам использовал версию applicationFrame.

(Я также предложил [UIHardware fullScreenApplicationContentRect], но это было из какого-то очень старого кода - не используйте его)