如何使用包含多个导航控制器的视图层次结构弹出到根视图控制器

How to pop to root view controller with view hierarchy containing multiple Navigation controllers

我有一个视图层次结构 multiple UINavigationControllers

现在我想从一个特定的视图控制器弹出到 window.rootviewcontroller

我该怎么做?

我试过了

[UIApplication sharedApplication].keyWindow.rootViewController popToRootViewController];

但是不行。请提出建议。

请注意我想去 window.rootVC。

这对我不起作用

 [self.navigationController popToRootViewControllerAnimated:YES];

设置

UINavigationController *navController = (UINavigationController*)self.window.rootViewController;


[self.navigationController popToRootViewControllerAnimated:YES];

只需获取 window 实例并再次设置根视图控制器,因为 popToRootViewController 仅弹出特定导航堆栈的根视图控制器

- (void)popToRoot
{
    AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
    UIWindow *mainWindow = appDelegate.window;
    ViewController *viewControllerObj = [ViewController new];
    UINavigationController *navigationObject = [[UINavigationController alloc] initWithRootViewController:viewControllerObj];
    [mainWindow setRootViewController:navigationObject];
}

希望对您有所帮助。