2010-02-23 6 views
2

Мое приложение имеет панель вкладок, а на одной вкладке у меня есть контроллер навигации.iPhone SDK: просмотр размера просмотра в UINavigationController

Я хочу найти положение центра представления, которое появляется между панелью навигации и панелью вкладок, чтобы я мог отображать UIActivityIndicatorView прямо в середине представления, когда происходит что-то.

Однако, я получаю разные значения self.view.bounds.size в зависимости от того, где я находится в иерархии навигации. На верхнем уровне он говорит мне 320x460, но это 320x367 на более глубоких уровнях.

320x367 - это размер, который я ожидаю (и подтвердил в IB инспектором по размеру). Так почему я вижу разные только на верхнем уровне?

+1

Я сделал то же самое в другом приложении, у которого есть контроллер навигации, но нет панели вкладок. Верхний уровень правильно сообщает высоту табличного представления 416px. Похоже, что это связано с наличием контроллера навигации внутри панели вкладок. –

ответ

0

Ответ на собственный вопрос, если подойти к исходной проблеме по-другому.

Я пытался создать объект UIActivityIndicator, используя initWithFrame, передавая ему координаты для центра текущего представления, рассчитанного по его границам.

Однако это излишне сложно. Я могу просто установить

activityIndicator.center = self.view.center; 

, чтобы выровнять индикатор активности в середине основного вида.