2010-05-17 2 views
0

Я хочу иметь контроллер TabBar внутри контроллера навигации. Таким образом, когда элемент выбирается на первом контроллере навигации, он подталкивает TabBar к представлению. Внутри этой вкладки на первой вкладке находится другой контроллер навигации.Навигация (контроллер) в табеле (c) в навигации (c)

Однако мне нужна только одна панель навигации.

Я придумал два способа, но не уверен, какой путь лучше (т.е. более приемлемый и т. Д.)?

1) Первый навигационный контроллер на самом деле не является навигационным контроллером, а для пользователя он выглядит как один. Поэтому, когда ячейка выбрана в виде таблицы, первое представление NavC удаляется из супервизора и добавляется представление TabBarC, анимация должна выполняться вручную.

2) Первый NavC на самом деле является NavC, и когда элемент выбран и TabBar нажата на экран, первая навигационная панель NavC скрыта, так что навигационная панель первой вкладки является единственной навигационной панелью на экране.

ответ

1

Я не думаю, что это хорошая идея. Framework не поддерживает наличие контроллера панели вкладок в качестве контроллера корневого представления в контроллере навигации. (Слишком много «контролеров» в этом предложении).

Из документов:

initWithRootViewController:

инициализирует и возвращает новый созданный навигационный контроллер.

- (id)initWithRootViewController:(UIViewController *)rootViewController

Параметры

rootViewController

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

(курсив курсив мой)

+0

так она должна была бы быть вариант один, где tabbarController не в NavController –

Смежные вопросы