Изменение размера дочерних представлений UITabBarController - PullRequest
0 голосов
/ 21 апреля 2011

Я уверен, что это вопрос того, что я не знаю, как сформулировать свой вопрос, но я в растерянности.

Я работаю над приложением с 2 подпредставлениями, которое будет навсе время верхняя часть экрана (в общей сложности 114 пикселей, включая строку состояния).Я хочу, чтобы оставшееся пространство было занято с помощью UITabBar, и это дочерние представления.

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

// Create the main toolbar
toolbar = [[UIToolbar alloc] init];
[toolbar sizeToFit];
toolbar.frame = CGRectMake(0.0, 20, 768, 44);

UILabel *textLabel = [[UILabel alloc] init];
textLabel.frame = CGRectMake(240, 20, 300, 40);
textLabel.textAlignment = UITextAlignmentCenter;
textLabel.backgroundColor = [UIColor clearColor];
textLabel.text = @"Character Name";
[self.window addSubview:textLabel];
[textLabel release];

...

// Create the stats bar
StatsViewController *statsView = [[StatsViewController alloc] init];
statsView.view.frame = CGRectMake(0.0, 64, 768, 50);
[self.window addSubview:statsView.view];

// Create Tab Bar Controller and Tab View Controllers
tabBarController = [[UITabBarController alloc] init];

...

[self.window setRootViewController:tabBarController];
[tabBarController release];

[self.window addSubview:toolbar];
[self.window bringSubviewToFront:statsView.view];
[self.window bringSubviewToFront:textLabel];
[self.window makeKeyAndVisible];
return YES;

1 Ответ

0 голосов
/ 21 апреля 2011

Контроллер панели вкладок (или любой другой контроллер представления) всегда будет пытаться изменить размер своего представления, чтобы он занимал все границы своего суперпредставления. Поэтому, если вы хотите, чтобы контроллер панели вкладок этого не делал, я бы создал еще один контроллер простого представления, который станет вашим новым корневым контроллером представления.

В этом представлении контроллера представления вы создаете 2 подпредставления контейнера, одно для вашего statsView и одно для контроллера панели вкладок. Теперь вы добавляете представление контроллера панели вкладок к одному представлению контейнера и представление StatsViewController к другому.

(Примечание: я не проверял это.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...