2

UIInterfaceOrientationLandscapeLeft でのみ実行することになっている iPad アプリがあります。これを plist に設定しましたが、起動が完了するまで、すべての UIViewControllers に縦向きのフレームが割り当てられたままです。したがって、ビュー コントローラーのフレームに基づいて -init で設定したサブビューはすべて間違っています。

私はself.view.frameを出力しましたが、それは当然のことですが、ビューコントローラーを左に横向きにするだけに設定0, 0, 768, 1024する必要があります。0, 0, 1024, 768

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}
4

1 に答える 1

0

-init でサブビューを設定する代わりに、-loadView (xib を使用していない場合) または -viewDidLoad (xib を使用している場合) で設定します。これらのメソッドが呼び出されると、UIViewController は正しい状態になり、希望どおりに動作するはずです。

于 2011-03-13T17:45:19.900 に答える