2012-04-24 4 views
0

У меня есть эта проблема:Segue к Tab Bar Controller

У меня есть приложение, которое имеет 2-х частей, первая часть, когда это первый раз, когда пользователь открывает приложение, экран с «Что ваше имя» появляется и он следует за экраном, на котором есть несколько кнопок, и заканчивается в виде таблицы, где он может нажать кнопку в нижнем колонтитуле, чтобы перейти к другой части приложения, которая представляет собой контроллер вида с двумя кнопками: 1 - вернитесь к первому (после вашего имени), 2 - Перейдите к контроллеру панели вкладок. Моя проблема заключается в следующем: когда я перехожу к панели навигации панели навигации, появляется 2 навигационная панель oO. Я прочитал через Интернет, что я не могу нажать контроллер панели вкладок в стек навигации, это правда?

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

Заранее благодарен!

+1

возможно дубликат [может ли UIViewController нажать UITabBarController?] (Http://stackoverflow.com/questions/3042287/can-a-uiviewcontroller-push-a-uitabbarcontroller) – CodaFi

+1

Почему бы не начать с вкладкой бар, а при первой загрузке присутствует экран «Что вы назвали»? – danielbeard

+0

Я думаю, что danielbeard - лучший подход –

ответ

0

Я читал через Интернет, что я не могу нажать контроллер панели вкладок в стек навигации, это правда?

Да, это правда.

Посмотрите на the documentation для -[UINavigationController pushViewController:animated:], который говорит, что это о контроллере представления он принимает в качестве параметра:

Этот объект не может быть экземпляром контроллера панели вкладок и оно не должно быть в стеке навигации.

(Выделено.)

Так что это решение для моего UI?

Организуйте свое приложение по-разному. Одним из способов было бы сделать контроллер табуляции вашим корневым контроллером и представить начальный контроллер представления при первом запуске приложения. Если пользователю необходимо вернуться туда, укажите кнопку или некоторые другие средства, которые снова отображают контроллер начального представления. Или просто сделайте эту начальную страницу еще одной вкладкой, чтобы пользователь мог вернуться к ней в любое время.

0

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

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
UITabBarController *tab=[storyboard instantiateViewControllerWithIdentifier:@"tabController"]; 
[self.navigationController presentViewController:tab animated:YES completion:nil];