2010-03-27 5 views
11

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

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

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

ответ

26

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

Йуп:

CGRect screenRect = [[UIScreen mainScreen] applicationFrame]; 

applicationFrame

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

3

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

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

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

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

+2

UIHardware не является классом в текущем SDK. –

+0

Был уже на полпути, редактируя это :-) – Andiih

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