2012-01-19 5 views
1

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

Я решил ввести в качестве стартового VC UINavController и отобразить 4 ячейки в ячейках. Каждый из 4 элементов будет по существу загружать передаваемый пропуск UITabBarController в другой 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

ответ

10

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

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

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

Дополнительная информация here.

+1

хорошо, что отстой ... – Ziggy

+0

Проверьте Apple New App, они, похоже, нажимают UITabBarController в UINavigationController – msk

+1

, сможем ли вы обновить ссылку? видимо, это уже недействительно. –

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