2011-10-17 6 views
3

iOS 5.0でカスタムビューコントローラのサブクラスが異常に動作しています。私は私のiPadアプリケーションでstandartナビゲーションコントローラなどを使用していませんが、私は自分自身ですべてのビューコントローラを提示しています - これが私が-viewWillAppearメソッドとviewDidAppearメソッドを手動で呼び出す必要があった理由です。iOS 5.0でライフサイクルの問題が表示される

iOS 5.0以降では、View Controllerのビューをサブビューとして追加するときのように、これらのメソッドはビューのView Controllerインスタンスで自動的に呼び出されます。つまり、私の場合、これらのメソッドは2回呼び出されます。

提案がありますか?自分のビューのライフサイクルメソッドを作成し、アプリ全体を書き換える以外にも、

ありがとうございます!

答えて

6

それら-viewWill ...の自動呼び出しを無効にし、-viewDid ...メソッドをするためにあなたのUIViewControllerに以下を追加します。

-(BOOL)automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers { 
    return NO; 
} 

これは、サブビューを追加するとき、これらのメソッドを呼び出しを停止するのiOS 5.0を強制しますiOS 4.xで何かを壊すことはありません。私はiOS 4.x上のデバイスを引き続きサポートしている限り、この方法を使用しています。 iOS 4のサポートがなくなると、(hypercryptによって投稿されたセッション102のビデオで説明されているように)View Controllerを交換する新しいアプローチを使用するように私のコードをリファクタリングします。

関連する問題