通常、画面サイズの変更を処理するには、自動サイズ変更ルールが非常に重要です (自動レイアウトは iOS 6 でより柔軟になります)。
これらのルールは、スーパービューのサイズの変化に応じて要素の位置とサイズがどのように変化するかを定義します。これらは一般的なルールで、上/左/下/右の余白、および幅/高さに影響しますが、ほとんどの状況でほとんどの人に有効です。
高さを短くしたビューの外観を決定し、ビューを実装するときにそれを考慮する必要があります。Autoresize がこれを処理できる場合、それはすばらしいことです。それらは、IB (ビューが選択されているときのルーラー タブの下) またはコードを介して適用できます。
view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
iOS 6 以降をターゲットにしている場合は、AutoLayout とその制約システムも使用できます。
これが適切でない場合は、ステータス バーの高さが変わったときに、必要に応じて独自の変換を実行できます。これは、次のいずれかで実行できます。
これらのデリゲート メソッドを App Delegate に実装します。
application:willChangeStatusBarFrame:
application:didChangeStatusBarFrame:
これらの通知の観察
UIApplicationWillChangeStatusBarFrameNotification
UIApplicationDidChangeStatusBarFrameNotification