2011-11-11 13 views
0

私は - (id)initWithCoder:(NSCoder *)aDecoder で初期化されたビューを持っていますviewControllerでこのビューを初期化するにはどうしたらいいですか?initWithCoderを持つビューを初期化する方法:

autoRotateをデバイスに接続したい場合は、viewControllerが必要です。私は確信していない、おそらくviewControllerなしでautoRotationを達成することができますか?

ビューにshouldAutorotateToInterfaceOrientation:を追加してもビューが自動回転しませんでした。しかし、私も追加するとき

-(void) orientationChanged:(NSNotification *) notification 
{ 
    NSLog(@"orientationChanged: %d", [[notification object] orientation]); 
} 

私は、コンソールのウィンドウで方向の値を取得します。

ご協力いただければ幸いです。

答えて

0

initWithCoder:は、シリアル化されたオブジェクトを管理するためのものです。あなたはそれを直接呼び出すことはありません。 initWithCoder:メソッドを持つオブジェクトには、通常の指定初期化子(ビューの場合はinitWithFrame:)が必要です。しかし、一般的には、手作業で構築するのではなく、nibファイルを使うことをお勧めします。それは事を大幅に単純化し、nibファイルからロードするとinitWithCoder:が呼び出されます。

ビューコントローラでオートローテーションを管理する方がはるかに簡単です。それは必須ではありませんが、あなたのための仕事の一部をします。

+0

ご協力いただきありがとうございます。私はinitWithFrame:メソッドを使いました。私はちょっとプッシュが必要でした。 – KaasCoder

関連する問題