IB を使用していない場合は、それに基づいてビューとレイアウトのサイズを取得します。
私は通常、verticalOffset (NSInteger) に単一の値を使用し、インターフェイス要素に応じて異なる倍数の値を使用して、Y 値をベースにします。
CGRect screenBounds = [[UIScreen mainScreen] bounds];
if (screenBounds.size.height == 568) { // iPhone 5
verticalOffset = 20;
} else {
verticalOffset = 0;
}
将来、Apple が高さ 768 ピクセルの iPhone 5.5 をリリースした場合 (冗談です.. ハ!)
新しい verticalOffset 値を追加するだけで、ビューは即座に新しいサイズでいっぱいになります。
CGRect screenBounds = [[UIScreen mainScreen] bounds];
if (screenBounds.size.height == 768) { // iPhone 5.5
verticalOffset = 30;
} else if (screenBounds.size.height == 568) { // iPhone 5
verticalOffset = 20;
} else {
verticalOffset = 0;
}
古いiOSバージョンをサポートしたい場合のIB / iPhoneの簡単な方法は、自動レイアウトをオフにします
上部の値の自動サイズ変更をオフにします。
iPhone 5 の IB でビューをレイアウトします。iPhone 3.5 を使用する場合、すべてのインターフェイス要素が 3.5 インチのサイズに収まります (背の高いサイズでレイアウトする場合は、十分な余白を残すようにしてください)。