私は何か奇妙なことを実験しています。すべての画面に収まるビューを作成したい (statusBar から navBar を差し引いたもの)。これが私の内部で行ったことviewDidLoad
です:
CGFloat navHeight = self.navigationController.navigationBar.frame.size.height;
UIView *test = [[UIView alloc] initWithFrame:CGRectMake(0, 0, screenWidth, screenHeight-20-navHeight)];
test.backgroundColor = [UIColor greenColor];
//test.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self.view addSubview:test];
自動サイズ変更行をコメントのままにしておくと、これは正常に機能しますが、回転すると収まりません (これは予想されることです)。
自動サイズ変更行のコメントを外すと、ポートレート モードで最初に起動したときのビューのサイズは 320x430 のようになり、ランドスケープ モードで最初に起動したときは 480x200 のようになります...「最初の起動」とは、「別のビューから来る」ことを意味します。
柔軟なマージンを追加しようとしましたが、修正されませんでした (とにかくフルスクリーンにしたいので、(x,y) は常に (0,0) になります)。