2011-10-27 10 views
1

iOS 5でこの現象が発生しました。 - 左側にViewController 1、右側にViewController 2というUISplitViewControllerを作成します。 popovercontrollerをポートレートで開き、popovercontrollerを閉じます。 ViewController 1のviewWillDisappear/viewDidDisAppearメソッドは呼び出しを取得しません。しかし、iOS 4.3のviewWillDisappear/viewDidDisAppearメソッドは呼び出しを取得しません。UISplitViewControllerがios 5のビューデリゲートメソッドを呼び出さない

このような動作の変化については、誰もが知っていますか?

答えて

2

明らかに、UISplitViewControllerのautomaticForwardAppearanceAndRotationMethodsToChildViewControllersメソッドは、YESの代わりにNOを返すように設定されています。したがって、UISplitViewControllerをサブクラス化し、YESを返すようにautomatedForwardAppearanceAndRotationMethodsToChildViewControllersをオーバーライドすると、問題が解決しました。

乾杯!

0

未修正の分割ビューコントローラテンプレート(マスターディテールアプリ、iPadのみ、ストーリーボードなし)でこれを試しましたが、私はあなたの観察を確認できません。スプリットビューコントローラの両方の子に対して、表示/非表示コールバックが呼び出されます。

あなたのアプリで何か他のことが起こっている必要があります。私たちの初期条件は、どういうわけか、明らかに同じではありません...あるいは、同じ瞬間に同じコールバックを正確に話しているわけではありません。スプリットビューコントローラがこれらのコールバックメッセージをどのように転送するかについては、ドキュメンテーション(「チャイルドビューコントローラへのメッセージ転送」)にはっきりと記載されています。

+0

ポップオーバーがポートレートモードで終了した後に呼び出されたデリゲートメソッドが表示されたり消えたりしましたか? – Klu

関連する問題