私はrootControllerのMyViewControllerのインスタンスを持つinitであるnavigationControllerを持っています。presentModalViewControllerは正確に何をしますか?
そして、それMyViewControllerのコード に私は
AnotherViewController *vc = [[AnotherViewController alloc] init];
[self presentModalViewController:vc animated:YES];
または
AnotherViewController *vc = [[AnotherViewController alloc] init];
[self.navigationController presentModalViewController:vc animated:YES];
を使用することができます私はこの二つの作品と同じを発見しました。どちらもモーダルビューを正しく表示します。また、提示されたAnotherViewControllerの "parentViewController"プロパティがすべてナビゲーションコントローラに設定されていることがわかりました。
なぜこれが起こるのですか?presentModalViewControllerは、自分がナビゲーションコントローラのサブビューであることを自動的に検出し、ナビゲーションコントローラにメッセージを再送信しますか?
はい? MyViewControllerは誤っていないとナビゲーションコントローラのサブビューです(コード内にあると思います)。なぜなら、あなたが何をするにしても、正しくポップアップするはずです。 – Sum