1

我有一些故事板设置如下:

故事板 A

--> Root Navigation Controller --> Container View Controller --> View Controller --> Home View Controller --> Storyboard B Reference

故事板 B

--> 容器视图控制器 --> 导航控制器 --> 视图控制器 --> Storyboard C 参考

故事板 C

--> 导航控制器 --> 视图控制器

它的要点是,我加载应用程序并rootViewController设置。然后我浏览应用程序并最终在Storyboard B其中包含一个带我到Storyboard C. 在里面View ControllerStoryboard C一个按钮,我想带我回到应用程序的开头。

我怎样才能从里面View Controller回到里面?Storyboard CHome View ControllerStoryboard 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

我还尝试了其他一些不起作用的方法。我知道这可能是非常简单的事情,我只是度过了糟糕的一天。现在非常感谢任何建议。

4

1 回答 1

1

我似乎通过popViewControllerAnimated:在主线程上执行该方法解决了它:

[self.navigationController.navigationController performSelectorOnMainThread:@selector(popViewControllerAnimated:) withObject:nil waitUntilDone:nil];
于 2016-01-12T12:12:36.370 回答