viewWillLayoutSubviews
-を使用して表示されたコントローラーを閉じた後、 (およびviewDidLayoutSubviews
)メソッドが呼び出されない問題を追跡しようとしています。
[self presentModalViewController:controller animated:YES];
と却下
[self dismissModalViewControllerAnimated:YES];.
このビューコントローラはUISplitViewController
、詳細領域でボタンが押された結果として、の上部に表示されます。モーダルを上げずにデバイスを回転させると、viewWillLayoutSubviews
コールバックが発生します。ただし、問題は、モデルの表示中に回転すると、ビューが正しく更新されず、閉じた後にビューの境界が再計算されないことです。IOS 5リリースノートによるとviewDidLayoutSubviews
、モーダルビューコントローラを閉じた後に取得する必要があります。
比較のために、他のコードを含まないベアボーンアプリを作成しました。これは文書化されているとおりに機能viewWillLayoutSubviews
し、モーダルが閉じられた後に呼び出されます。
私は実際のアプリコードを何度も繰り返してきましたが、何も問題は見つかりませんでした。私はこれを理解するのに役立つことの提案を探しています。回転しているときはコールバックが機能するのに、モーダルが閉じているときは機能しないのはなぜですか?それは私のビュー階層にあるものでしょうか?
助けてくれてありがとう!