This is probably one of the most frequently asked question for anyone starting to do iPhone app development. Most would be confused with the "Status bar" option within Interface Builder and attempt to change it within the Interface Builder.

That option is purely for simulating the color of the status bar within the Interface Builder to help with the visual design and layout of the views.

There are two ways to change the style of the status bar. The first approach is to do it via code through the AppDelegate class.

- (void)applicationDidFinishLaunching:(UIApplication *)application {
    
    // Add the tab bar controller's current view as a subview of the window
    [application setStatusBarStyle:UIStatusBarStyleBlackOpaque];
    [window addSubview:tabBarController.view];
}

However doing it this way, there is a momentary change in the style when the iPhone app is launched.

This is where the second approach comes in. You can add a key-value pair to the info plist of the app using a text editor. The key is UIStatusBarStyle and the value can be UIStatusBarStyleOpaqueBlack or any of the values permitted by UIStatusBarStyle.

You can also edit the plist from Xcode and editor would prompt you with the right key. In this case, in the information property list, the key would be "Status bar style" and the value would be "Opaque black style".