0

で初期化されたビューがあります -(id)initWithCoder:(NSCoder *)aDecoder このビューを で初期化するにはどうすればよいviewControllerですか?

viewControllerデバイスでビューを表示したい場合は、が必要だと思いautoRotateます。よくわかりませんが、 ?autoRotationなしで達成できるかもしれません。viewController

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

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

コンソール ウィンドウで向きの値を取得します。

どんな助けでも大歓迎です。

4

1 に答える 1

0

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

ビュー コントローラーを使用した自動回転の管理は、はるかに簡単です。必須ではありませんが、一部の作業は実行されます。

于 2011-11-11T20:42:50.000 に答える