これは、ナビゲーションコントローラーによって管理されているビューコントローラーでプレゼンテーションを行っている場合にのみ発生します。
複製手順は次のとおりです。
1-を使用してViewControllerを提示しますUIModalPresentationCurrentContext
self.definesPresentationContext = YES;
ViewController* viewController = [[ViewController alloc] init];
viewController.modalPresentationStyle = UIModalPresentationCurrentContext;
[presentOnViewController presentViewController:viewController animated:YES completion:nil];
2-デフォルトのフルスクリーン表示スタイルを使用して、ビューコントローラを上に表示します
ViewController* viewController = [[ViewController alloc] init];
[self presentViewController:viewController animated:YES completion:nil];
3-上部に表示されたViewController(フルスクリーンのもの)を閉じます
[self dismissViewControllerAnimated:YES completion:nil];
ここで問題となるのは、2番目のビューコントローラ(UIModalPresentationCurrentContextを使用して表示)が消えることです。また、UIModalPresentationCurrentContextを使用して別のビューコントローラを表示することはできません。これは、システムがまだそこにあると見なしているためです。