Избегайте жесткого кодирования размера экрана 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]
, но это было из какого-то очень старого кода - не используйте его)