iPhone - Как получить основной вид (1-й вид) каждый раз, когда мы переключаемся с одной вкладки на другую вкладку

В моем приложении для iPhone я использовал tabbarcontroller, так как у меня есть 4 вкладки для четырех разных элементов.

На каждой вкладке у меня разные представления для навигации по транзакциям в них.

мое требование: когда я переключаю форму на вкладке на другую вкладку, нажимая на элемент панели вкладок.

Т*the main view (first view ) of each tab has to be appeared instead of currently working view.*

Например:

  1. Я выбираю вкладку 3, там я выполняю некоторые операции и перехожу к некоторому второму представлению на третьей вкладке.

  2. а затем я выбираю вкладку 4, а затем снова вкладку 3.. затем предыдущее рабочее представление 2 представлено на вкладке 3,

    1. But i need to present 1st view at any time when i select tab 3 (Same like in any other tabs)

как сделать..


person iOS dev    schedule 07.05.2013    source источник
comment
У вас есть навигационный контроллер во втором представлении вкладки?   -  person Ahmed Z.    schedule 07.05.2013


Ответы (2)


Создайте подкласс UINavigationController, измените класс любых навигационных контроллеров, которые есть в вашей раскадровке, на этот класс и поместите этот код в этот подкласс:

-(void)viewDidDisappear:(BOOL)animated {
    [self popToRootViewControllerAnimated:NO];
}

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

person rdelmar    schedule 07.05.2013

Установите контроллер представления или делегат приложения в качестве делегата контроллера вкладок. реализовать эту функцию делегата

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{
  int selectedIndex = tabBarController.selectedIndex;
  NSArray *tabbarControllers = tabBarController.viewControllers;

  //Then replace tabbarControllers[selectedIndex] by your new view controller(with navigation controller) 

   tabBarController.viewControllers = Your replaced Array;
}
person jailani    schedule 07.05.2013