Определение полезной площади UIView - PullRequest
1 голос
/ 09 марта 2009

Я новичок в разработке для iPhone и столкнулся с проблемой выяснения, какой объем UIView я могу использовать, когда контроллер UIViews является частью UITabController. Я инициализирую окно как

window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

и вид как

myView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];

Окно возвращается как 320x480, а вид - как 320x460 (разница в 20 пикселей, я полагаю, в строке состояния вверху).

Однако представление является частью UITabController, и я не знаю, как рассчитать объем пространства, доступного при учете этой панели вкладок. Есть идеи?

1 Ответ

3 голосов
/ 09 марта 2009

Я предполагаю, что вы создаете представление программно и пытаетесь динамически расположить его в контроллере вкладок. Используйте UIViewAutoresizing и доверие в ОС, чтобы сделать это за вас.

У меня были подобные проблемы, пока я не нашел время, чтобы понять, как использовать атрибуты Flexible для блокировки элементов в определенных положениях. Когда вы используете контроллер вкладок для переключения выбранного представления, ОС изменит размер представления, чтобы соответствовать автоматически.

UIViewAutoresizingFlexibleTopMargin - Locks the location of an object with regards to the bottom.
UIViewAutoresizingFlexibleBottomMargin - Locks with regards to the top.
UIViewAutoresizingFlexibleWidth - Keeps the object the same distance from the left and right edges.
UIViewAutoresizingFlexibleHeight - Keeps the object the same distance from the top and bottom edges.

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

Чтобы настроить это программно, вам нужно установить маску автоматического изменения размера представления:

[myView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...