当您将UINavigationController集成到UITabBarController的选项卡之一中时,UITabBarController会记住上次使用该选项卡时用户所在的位置。是否有可能让UITabBarController忘记并且总是像第一次一样启动选项卡?

f.e.
结构如下

  • Tab1
  • View1
  • View2
  • Tab2
  • View1

  • 用户从Tab1 / View1开始,然后导航到Tab1 / View2。他更改为Tab2 / View1,然后按Tab1:
  • 当前行为:他出现在Tab1 / View2上
  • 想要的行为:他出现在Tab1 / View1上
  • 最佳答案

    尝试如下所示,它将对您有所帮助

     - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
    {
        for(int i = 0; i < tabBarController.viewControllers.count; i++) {
            if(tabBarController.selectedIndex != i && [[tabBarController.viewControllers objectAtIndex:i] isKindOfClass:[UINavigationController class]])
                [[tabBarController.viewControllers objectAtIndex:i] popToRootViewControllerAnimated:NO];
        }
    }
    

    关于iphone - 使UITabBar忘记最后一个状态,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14622486/

    10-13 04:07