0

У меня есть приложение панели вкладок с контроллером навигации и контроллерами просмотра внутри него. Вот как это выложено.сбросить предыдущий контроллер навигации в приложении панели вкладок

Tab Bar 1 
- Navigation Controller 
-- Root View Controller 
-- Other view controller 

Tab Bar 2 
- Navigation Controller 
-- Root View Controller 

То, что я хочу сделать, когда я перейти на другой контроллер представления в панели вкладок 1, а затем переключиться на вкладку Bar 2, я хочу Tab Bar 1, чтобы вернуться к своей корневой View Controller.

Поведение, которое я ищу, похоже на iPod App. Любая помощь приветствуется. Благодаря!

ответ

1

Похоже, вы начали с шаблона приложения «Tab Bar Application», поэтому, скорее всего, ваш делегат приложения также является делегатом для вашего UITabBarController. UITabBarControllerDelegate имеет этот метод:

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController

В этом методе вы бы проверить, чтобы увидеть, если «ViewController» Ваш первый навигационный контроллер, и если он есть, установить свойство контроллеры навигации viewControllers на массив контроллеров зрения ребенка с контроллером корневого просмотра с индексом 0.

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController 
{ 
    if (viewController == firstNavController) 
     viewController.viewControllers = [NSArray arrayWithObjects:rootViewController, otherViewController, nil]; 
}