iOS7のUIが大幅に変更されて、デザインに苦労したりします。 個人的な感想から言えば、iOS6はきって(シェアからしても)、iOS7用で作成した方がいいような気がします。
さてステータスバーもiPhoneのフルスクリーンに重なったり、デフォルトの色が黒だったりと頭が痛いです。
UIApplicationのsetStatusBarStyleで、ステータスバーのスタイルが変更できるみたいな記載がありましたが、Storyboardとかで画面遷移するとどうもその限りではないようです。
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
なぜか、Stoarybordの「Status Bar」を設定しても変更できませんでした。 という事で、
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
どうやらこの方法が確実なようです。 スタイルを統一したい場合は、preferredStatusBarStyleを実装した親クラスを各UIViewControllerに継承しやれば良いかと思います。
typedef NS_ENUM(NSInteger, UIStatusBarStyle) {
UIStatusBarStyleDefault = 0, // Dark content, for use on light backgrounds
UIStatusBarStyleLightContent NS_ENUM_AVAILABLE_IOS(7_0) = 1, // Light content, for use on dark backgrounds
UIStatusBarStyleBlackTranslucent NS_ENUM_DEPRECATED_IOS(2_0, 7_0, "Use UIStatusBarStyleLightContent") = 1,
UIStatusBarStyleBlackOpaque NS_ENUM_DEPRECATED_IOS(2_0, 7_0, "Use UIStatusBarStyleLightContent") = 2,
};