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-ри изглед в третия раздел.

  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