сбросить предыдущий контроллер навигации в приложении панели вкладок - PullRequest
0 голосов
/ 27 ноября 2010

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

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

Tab Bar 2
- Navigation Controller
-- Root View Controller

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

Мне нужно поведение, похожее на приложение iPod.Любая помощь приветствуется.Спасибо!

1 Ответ

1 голос
/ 27 ноября 2010

Похоже, вы начали с шаблона «Панель вкладок», так что, скорее всего, ваш делегат приложения также является делегатом вашего 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];
}
...