防止点击tabbar试图回退

给UITarbarController设个delegate,并实现如下方法


-(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController

{

    if ([viewController isKindOfClass:[UINavigationController class]])

    {

        UINavigationController * nav = (UINavigationController*)viewController;

        

        // 这里是关键,只在栈中存大于一个viewController并且是当前选中的,就不做反应

        if (nav.viewControllers.count >1 && tabBarController.selectedViewController == viewController)

        {

            return NO;

        }

    }

    return YES;

    

}


你可能感兴趣的:(防止点击tabbar试图回退)