1

以下のようにいくつかのストーリーボードを設定しています。

絵コンテA

--> ルート ナビゲーション コントローラー --> コンテナー ビュー コントローラー --> ビュー コントローラー --> ホーム ビュー コントローラー --> ストーリーボード B リファレンス

絵コンテB

--> Container View Controller --> Navigation Controller --> View Controller --> Storyboard C リファレンス

絵コンテC

--> ナビゲーション コントローラ --> ビュー コントローラ

要点は、アプリをロードしてrootViewController設定することです。次に、アプリをブラウズすると、に移動Storyboard Bするボタンが含まれていますStoryboard C。中View ControllerStoryboard Cは、アプリの最初に戻るためのボタンがあります。

inからView ControllerinStoryboard Cに戻るにはどうすればよいですか?Home 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 に答える