iOS 7 brings status bar which looks like part of view 9though it is not). But it caused that status bar may overlap content or be hardly visible (in case of black or dark background for UINavigationBar or content).

How to change style of statusbar (e.g. make it white) .

1. Set ‘UIViewControllerBasedStatusBarAppearance’ to ‘NO’ in info.plist
2. Set the status bar style “Opaque Black Style” for key UIApplicationstatusBarStyle in info.plist.
3. In AppDelegate’s method application:didFinishLaunchingWithOptions, call

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];//this is "white" style

To hide statusbar you will need to set in your viewcontroller or in rootviewcontroller this method :

-(BOOL) prefersStatusBarHidden {
    return YES;

If you use StoryBoard and don’t want your viewcontroller to be overlapped by the statusbar and navigationbar uncheck the “Extend Edges Under Top Bars” box for UIViewController in Interface Builder in Xcode 5.

Apple released great article which will solve most problems Technical Q&A QA1797: Preventing the Status Bar from Covering Your Views. It works fine for the iOS 6 and iOS 7 versions.