0

ViewControllerA という名前の ViewController を取得しました。これは、ViewControllerB に次の共通コードを提示します。

ViewControllerB *viewControllerB = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"Identifier"];
[self presentViewController:viewControllerB animated:YES completion:nil];

viewControllerB は UITabbarController ですが、呼び出すとき

[self dismissViewControllerAnimated:YES completion:nil];

TabbarControllers ViewControllers (ページ 2 など) の 1 つから、白い画面が表示されます。viewControllerA が表示されることを期待していましたが、代わりに空の画面が表示されます。

また

NSLog(@"%@", [[self presentingViewController] class]);

viewControllerA をログに記録します。

viewControllerA の代わりに空の白い画面が表示される理由を知っている人はいますか?

EDIT viewControllerA の viewDidAppear にブレークポイントを設定しましたが、dismissViewControllerAnimated を呼び出すとそこでブレークします。しかし、白い画面しか表示されないのはどうしてでしょうか?

また、viewControllerA のレイアウトはプログラムで作成されていることも知っておく必要があると思います。viewControllerB はかなり後で作成され、その間にストーリーボードを使用することにしたので、viewControllerB のレイアウトはストーリーボードで作成されます。

4

2 に答える 2