Я пытаюсь представить TabBarController поверх другого TabBarController.MainWindow.xib моего приложения выглядит следующим образом:
Files Owner
First Responder
My App App Delegate
Window
TabBarContoller
+TabBar
+Nav Controller Subclass (a custom class)
+Navigation Bar
+Table View Contoller Subclass (custom class)
+Tab Bar Item
+Second View Controller (not yet hooked up)
Я пытаюсь отобразить файл xib при нажатии элемента в TableView.Этот xib-файл имеет TabBarController в качестве основного вида, но когда вид отображается, панель вкладок и панель навигации невидимы.Код, который я использую для его отображения:
MyAppAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
[delegate.customNavController presentModalViewController:customDetailEditViewController animated:YES];
Если я использую приведенный ниже код для перемещения контроллера представления в стек, я вижу правильную панель навигации, но TabBar из корневого контроллера представлениявместо того, который был выдвинут в представлении, показанном на экранеNavigationBar / TabBar из корневого ViewController).
РЕДАКТИРОВАТЬ: Я загрузил источник в http://mi6.nu/tabcontroller.zip.Я был бы очень признателен, если бы кто-то с большим опытом работы с iOS мог взглянуть.
EDIT2 : Самое близкое, что я до сих пор сделал, это представление модального контроллера представления внутрипервая панель вкладок, поэтому мой вид выглядит следующим образом:
NavigationBar
[ ]
[ ]
[---View---]
[ ]
[ ]
TabBar from the pushed view
TabBar from the root view
Для достижения этого я использую:
UITabBarController *tabBarController = [[UITabBarController alloc] init];
UIViewController *directionsView = [[UIViewController alloc] init];
txtDirections = [[UITextView alloc]initWithFrame:CGRectMake(0,0,self.view.frame.size.width, self.view.frame.size.height)];
[directionsView.view addSubview:txtDirections];
IconPickerViewController *iconPicker = [[IconPickerViewController alloc]init];
tabBarController.viewControllers = [NSArray arrayWithObjects:recipeDetailEditViewController,directionsView,iconPicker, nil];
[directionsView release];
[iconPicker release];
MyAppAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
[delegate.rootNavController presentModalViewController:recipeDetailEditViewController animated:YES];
Хотя это все усложняет, поскольку а) Это не идеально, так какУ меня есть две вкладки и б) все элементы управления (все элементы редактирования) должны быть в TableViewController, чтобы их значения можно было загружать / сохранять для редактирования элементов.Было бы намного проще, если бы выдвигаемое представление могло обрабатывать загрузку / сохранение и отображаться поверх корневых вкладок.
Конечно, это должно быть возможно?