Как получить доступную высоту, учитывая высоту другого элемента UIElement? - PullRequest
0 голосов
/ 06 сентября 2011

Как я могу получить доступную высоту?

Я пытался:

NSLog(@"%f", [self bounds].size.height);
NSLog(@"%f", [self frame].size.height);
NSLog(@"%f", [[UIScreen mainScreen] bounds].size.height);

Я всегда получаю высоту экрана. Но фактическая высота меньше. С информационной панелью вверху + навигационной панелью высота меньше.

EDIT: Мне нужно получить высоту программно. Вот если есть TabBar и мой Вид не всегда есть в NavBar-Controller Возможно нет Навбара.

Ответы [ 2 ]

1 голос
/ 06 сентября 2011

Панель навигации имеет предопределенную высоту 44, которую вы никогда не сможете изменить. И под информационной панелью я думаю, что вы имеете в виду строку состояния , которая имеет фиксированную высоту 20. Общая высота экрана iPhone составляет 480 . Вы делаете расчеты ...:)

Однако, если вы хотите высоту такого экрана, тогда в перо всегда имитируют строку состояния и панель навигации, а затем все элементы пользовательского интерфейса для этого. После этого, когда вы будете делать

self.view.frame.size.height

вы получите высоту вашего зрения

1 голос
/ 06 сентября 2011
self.view.frame.size.height;

OR

float theHeight = // one of the methods you posted
theHeight -= 44; // for nav bar
theHeight -= 20; // for status bar
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...