最近 iOS6 アプリをリリースしましたが、iOS 7 用に更新する必要があります。新しいステータス バーは少し問題です。self.view のフレーム/境界が変更されたようで (+20 ポイント)、self.view.bounds を使用していくつかの要素の配置を決定します。私はいくつかの解決策を見てきました。基本的に、iOS 6 ステータス バーをサポートしながら、アプリを更新する必要があります。これに対するベストプラクティスはありますか?
以下のコードは、iOS 7 デバイスを検出してコンテンツを所定の位置に移動するように見えますが、他の問題も引き起こします。とにかく、これが最善の方法であるとは確信していません。
if([[[[UIDevice currentDevice] systemVersion] componentsSeparatedByString:@"."][0] intValue] >= 7) {
CGRect statusBarViewRect = [[UIApplication sharedApplication] statusBarFrame];
float heightPadding = statusBarViewRect.size.height+self.navigationController.navigationBar.frame.size.height;
[myContentView setFrame:CGRectMake(0, heightPadding, self.view.frame.size.width, self.view.frame.size.height - heightPadding)];
}