このトピックは以前に取り上げられましたが(iPadのモーダルビューコントローラーは横向きですが縦向きで動作します)、明確な答えが見つかりませんでした。したがって、これが重複しているかどうかはわかりません。
新しいシングルビュープロジェクトでは、メインビューをxcodeで横向きに設定しました。
そして、プロパティインスペクターはこれを確認します(およびビューがストーリーボードにどのように表示されるか)。
また、ViewControllerのorientationプロパティはlandscapeに設定されています。
しかし、「viewDidLoad」でビューフレームを確認すると、ポートレートモードが報告されます。
- (void)viewDidLoad
{
[super viewDidLoad];
CGRect theRect = self.view.frame;
NSLog(@" frame %f %f %f %f", theRect.origin.x,
theRect.origin.y,
theRect.size.width,
theRect.size.height);
}
2012-08-26 16:42:45.045テスト[2320:f803]セル0.000000 20.000000 768.000000 1004.000000
また、shouldAutorotateToInterfaceOrientationでランドスケープを強制します。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
私はこれまで何度もこれに遭遇し、フレームを明示的に横向きに設定する必要がありましたが、ストーリーボードのすべての設定が効果がない理由を理解できませんでした。
ここで基本的なものが欠けていますか?