アプリがランドスケープ モードのみをサポートしている場合は、[プロジェクトの概要] のアイコンをクリックして指定します。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return interfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
interfaceOrientation == UIInterfaceOrientationLandscapeRight;
}
次に、 の場合viewDidLoad
、私はそうします
UIView *smallBox = [[UIView alloc]initWithFrame:CGRectMake(10, 10, 300, 300)];
smallBox.autoresizingMask = UIViewAutoresizingFlexibleWidth;
smallBox.backgroundColor = [UIColor yellowColor];
[self.view addSubview:smallBox];
次に、物理的な iPad 2 を横向きに持ち、Xcode からプログラムを実行します。黄色のボックスは、実際には 300px よりもはるかに広いです。ただし、これは、300px が最初にポートレート モードで 300px と見なされ、次に固定された左右の余白にサイズ変更されて幅が 556px になった場合にのみ可能です。(フレーム幅を出力するために追加したタッチハンドラーで確認したように)。
しかし、アプリは横向きモードでのみ実行するように構成されているのに、なぜサイズを変更する必要があるのでしょうか? iOSアプリのルールは、常に最初にポートレートモードでレイアウトされ、次にランドスケープモードが必要な場合はサイズ変更/再レイアウトされるということですか?