今日、iPhone アプリのテストとデバッグを行っていたところ、奇妙な動作に遭遇しました。
私MainView
には2つのモーダルビューがあり、これらの1つを使用して表示すると、もう一方を表示するときにメソッドが呼び出されていないことpresentModalViewController
に気付きました。サブビューを閉じるときのメソッド (of ) も同様でした。viewDidUnload
MainView
viewDidLoad
MainView
サブビューを開いたり閉じたりする 2 つの方法を調べたところ、唯一の違いはmodalTransitionStyle
. アクティブ化したものviewDidUnload
/viewDidLoad
私が使用していたものUIModalTransitionStyleFlipHorizontal
と、他のものUIModalTransitionStyleCrossDissolve
。次に、2 つのスタイルを交換し、他のトランジション スタイルも使用して実験を開始しましたが、これが実際に異なる動作の原因であることがわかりました。実際、「親」View ControllerUIModalTransitionStyleFlipHorizontal
のviewDidUnload
/viewDidLoad
メソッドを使用すると、他のトランジション スタイルでは呼び出されませんでしたが、常に呼び出されていました。
私の質問は、これはこのように動作するはずであり、そうでない場合はどの動作が正しいかということです。モーダル ビューを表示したり閉じたりするときに unload メソッドと load メソッドが呼び出されるはずですか。
また、他の誰かがこの行動を確認または否定できますか?
ありがとう
PS。呼び出された 2 つのビュー コントローラーのviewDidLoad
メソッドが毎回呼び出されます。明確にするために:)