0

在我的 iPhone 应用程序中,我使用了 tabbarcontroller,因为我有 4 个选项卡用于四个不同的项目

在每个选项卡中,我都有不同的视图来导航其中的事务。

我的要求是,当我通过点击标签栏项目将标签上的表单切换到另一个标签时

T* 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. 但是当我选择选项卡 3 时,我需要随时呈现第一个视图(与任何其他选项卡相同)

怎么做..

4

2 回答 2

3

创建 UINavigationController 的子类,将情节提要中的任何导航控制器的类更改为该类,并将此代码放入该子类中:

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

每当您单击另一个选项卡时,都会调用此方法,并将导航堆栈重置回根视图控制器。

于 2013-05-07T06:27:48.037 回答
0

将您的视图控制器或 appdelegate 设置为 tabbarcontroller 的委托。实现这个委托函数

- (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;
}
于 2013-05-07T06:12:05.897 回答