ルートビューコントローラーMyViewControllerのインスタンスで初期化されているnavigationControllerがある場合。
そして、そのMyViewControllerのコードで使用できます
AnotherViewController *vc = [[AnotherViewController alloc] init];
[self presentModalViewController:vc animated:YES];
また
AnotherViewController *vc = [[AnotherViewController alloc] init];
[self.navigationController presentModalViewController:vc animated:YES];
この 2 つの作品は同じであることがわかりました。どちらもモーダル ビューを正しく表示します。また、提示された AnotherViewController の「parentViewController」プロパティがすべてナビゲーション コントローラーに設定されていることがわかりました。
なぜこれが起こるのでしょうか?presentModalViewController は、self がナビゲーション コントローラーのサブビューであることを自動的に検出し、メッセージをナビゲーション コントローラーに再送信します。