ios - NavController 在 Root VC 之前弹出查看 Controller

标签 ios xcode uinavigationcontroller storyboard segue

Storyboard

在我正在构建的应用程序中,我希望能够从“最后一个” View Controller 移动到应用程序启动时使用的 View Controller 。做这个的最好方式是什么?我非常喜欢以下功能:

[self.navigationController popToViewController:originalVC animated:YES];

但是在这种情况下它似乎不起作用,因为原始 VC 不包含在导航 Controller 中。当我使用时:

[self presentViewController:launchVC animated:YES completion:nil];

应用程序只是显示死机的黑屏。

谢谢。

最佳答案

NSArray *viewControllers = self.navigationController.viewControllers;
UIViewController *originalViewController = viewControllers[0];
[self.navigationController setViewControllers:@[originalViewController] animated:YES];

更新

对不起,我误解了你的问题。正确答案是:

UIViewController *originalViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"originalViewControllerStoryboardId"];
UIWindow *window = [UIApplication sharedApplication].keyWindow;
window.rootViewController = originalViewController;

关于ios - NavController 在 Root VC 之前弹出查看 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24542180/

相关文章:

ios - 为什么核心数据中的文件仍然存在,尽管我可以在核心数据中成功删除对象

ios - 哪个占用内存少?一个有 5 个按钮的 View Controller ,还是一个有 5 个项目的 tableview 的 View Controller ?

iphone - 如何使 View 看起来像报摊书架

iphone - XCode 类模型 : how to view Framework classes?

ios - NavigationBar barTintColor 显示相同颜色的不同效果

iphone - 如何在 iPhone 应用程序中为弹出 View Controller 添加通知?

iOS隐藏BarsOnSwipe状态栏背景色

iphone - 如何捕获在 iOS 调试器中按下的 "Stop"按钮?

ios - Magical Records - 如何使用关键路径映射关系?

javascript - React Native - 地理定位