Я пишу пользовательский UITabBarController, чтобы полностью контролировать внешний вид панели вкладок. У меня все это работает, поэтому у меня есть массив контроллеров представления, которые он обрабатывает.
Контроллер имеет основной вид, который заполняет экран, а внутри него UIView внизу для панели вкладок. Это представление панели вкладок имеет кнопку для каждого контроллера представления. Когда кнопки нажимаются, я добавляю вид контроллера представления на основной вид и устанавливаю его рамку так, чтобы он не закрывал вид панели вкладок:
controller.view.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height - kTabBarHeight);
Все это прекрасно работает, и я могу просто переключаться между контроллерами представления. Однако, когда я представляю модальный контроллер представления, а затем отклоняю его, представление текущего контроллера представления становится полноэкранным и закрывает мою панель вкладок! Я пытался установить маски автоматического изменения размера, чтобы они не менялись, но это происходит постоянно.
Я также попытался добавить виды контроллеров представления внизу (под панелью вкладок), используя:
[self.view insertSubview:controller.view atIndex:0];
Но когда я это делаю, панель вкладок даже видна над любыми модальными представлениями! Что странно. Я думаю, что я чего-то не понимаю, поэтому я был бы благодарен, если бы кто-нибудь смог объяснить, что мне не хватает!
Спасибо
Mike