我有一些故事板设置,如下所示:
故事板
->根导航控制器->容器视图控制器->视图控制器->主页视图控制器->故事板B参考
故事板B
->容器视图控制器->导航控制器->视图控制器->故事板C参考
故事板C
->导航控制器->视图控制器
要点是,我加载了应用程序并设置了rootViewController
。然后,我浏览该应用程序并结束于Storyboard B
,其中包含一个将我带到Storyboard C
的按钮。在View Controller
中的Storyboard C
上,有一个按钮我想带我回到应用程序的开始。
如何从View Controller
中的Storyboard C
返回到Home View Controller
中的Storyboard A
?
我尝试过的事情:
[self.navigationController.navigationController popViewControllerAnimated:animated];
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *viewController = [mainStoryboard instantiateViewControllerWithIdentifier:@"HomeScreen"];
[self presentViewController:viewController animated:animated completion:nil];
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *viewController = [mainStoryboard instantiateViewControllerWithIdentifier:@"HomeScreen"];
[UIApplication sharedApplication].keyWindow.rootViewController = viewController;
上面的3个都回到正确的位置,但是应用程序崩溃并显示
EXC_I386_GPFLT
。我还尝试了其他一些无效的方法。我知道这可能很简单,我今天过得很糟糕。任何建议现在都将不胜感激。
最佳答案
我似乎已经通过在主线程上执行popViewControllerAnimated:
方法解决了它:
[self.navigationController.navigationController performSelectorOnMainThread:@selector(popViewControllerAnimated:) withObject:nil waitUntilDone:nil];
关于ios - 从第三层导航 Controller 返回到原始的Root View Controller,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34741116/