我有一些故事板设置如下:
故事板A
- >根导航控制器 - >容器视图控制器 - >视图控制器 - >家庭视图控制器 - >故事板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
。
我还尝试了一些其他不起作用的事情。我知道这可能是非常简单的事情,我只是度过了糟糕的一天。任何建议现在都非常感谢。
答案 0 :(得分:1)
我似乎已经通过在主线程上执行popViewControllerAnimated:
方法解决了它:
[self.navigationController.navigationController performSelectorOnMainThread:@selector(popViewControllerAnimated:) withObject:nil waitUntilDone:nil];