Нажатие UINavigationController UITabBarController отображает только одну вкладку - PullRequest
2 голосов
/ 19 января 2012

У меня есть приложение, в котором UITabBarController создано в IB.Это tbc загружает 3 представления, которые до сих пор работали нормально.

Я решил ВСТАВИТЬ UINavController в качестве начального ВК и иметь UITableViewController, отображающий 4 пункта меню в ячейках.Каждый из 4 элементов по сути загружает проход UITabBarController put в отдельный XML-файл для обработки, чтобы отобразить данные на этих 3 вкладках.

Я сделал это в конце applicationDidFinishLoading:

MainMenu *rootViewController = [[MainMenu alloc] init];
navController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
self.window.rootViewController = navController;
[window makeKeyAndVisible];
return YES;

Затем я создал MainMenu в качестве подкласса rootViewController UITableViewController и добавил жестко закодированный массив, который отображает 4 элемента, которые я хочу.Я didSelectRowAtIndexPath запустил этот код:

tabBarController = [[UITabBarController alloc] init];
[self.navigationController pushViewController:tabBarController animated:YES];
[tabBarController release];

Оказывается, когда я запускаю его, navcontroller нажимает контроллер вкладок, но отображается только первая вкладка.Вот картинка.

enter image description here

1 Ответ

11 голосов
/ 19 января 2012

Вы никогда не должны нажимать UITabBarController от UINavigationController. Apple четко говорит это:

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

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

Подробнее здесь .

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