弹出Tab Bar App上的所有View Controllers

Car*_*arl 3 xcode ios uistoryboard

我在应用程序的5个选项卡中的4个中有一个带有导航控制器的标签栏应用程序.我在我的应用程序中有一个"重置应用程序"功能,清除所有数据等...我还希望将所有视图控制器弹回到它们的顶视图.我知道如何使用popToRootViewControllerAnimated为单个导航控制器弹出root,但是是否可以弹出每个选项卡上的所有视图控制器?

Rah*_*ade 10

如果数组中的控制器是UINavigationController,你需要枚举tabBarController的viewControllers数组并弹出到根视图控制器 -

for(UIViewController *viewController in tabBarController.viewControllers)
{
    if([viewController isKindOfClass:[UINavigationController class]])
       [(UINavigationController *)viewController popToRootViewControllerAnimated:NO];
}
Run Code Online (Sandbox Code Playgroud)