I recently downloaded Xcode 5 DP to test my apps in iOS 7. The first thing I noticed and confirmed is that my view\'s bounds is not always resized to account for the status
The simplest trick is to open the NIB file and do these two simple steps:


And the result:

make a constraints to Top Layout like this
You can achieve this by implementing a new property called edgesForExtendedLayout in iOS7 SDK. Please add the following code to achieve this,
if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
        self.edgesForExtendedLayout = UIRectEdgeNone;
You need to add the above in your -(void)viewDidLoad method.
iOS 7 brings several changes to how you layout and customize the appearance of your UI. The changes in view-controller layout, tint color, and font affect all the UIKit objects in your app. In addition, enhancements to gesture recognizer APIs give you finer grained control over gesture interactions.
Using View Controllers
In iOS 7, view controllers use full-screen layout. At the same time, iOS 7 gives you more granular control over the way a view controller lays out its views. In particular, the concept of full-screen layout has been refined to let a view controller specify the layout of each edge of its view.
The
wantsFullScreenLayoutview controller property is deprecated in iOS 7. If you currently specifywantsFullScreenLayout = NO, the view controller may display its content at an unexpected screen location when it runs in iOS 7.To adjust how a view controller lays out its views,
UIViewControllerprovides the following properties:
- edgesForExtendedLayout
 The
edgesForExtendedLayoutproperty uses theUIRectEdgetype, which specifies each of a rectangle’s four edges, in addition to specifying none and all. UseedgesForExtendedLayoutto specify which edges of a view should be extended, regardless of bar translucency. By default, the value of this property isUIRectEdgeAll.
- extendedLayoutIncludesOpaqueBars
 If your design uses opaque bars, refine
edgesForExtendedLayoutby also setting theextendedLayoutIncludesOpaqueBarsproperty to NO. (The default value ofextendedLayoutIncludesOpaqueBarsis NO.)
- automaticallyAdjustsScrollViewInsets
 If you don’t want a scroll view’s content insets to be automatically adjusted, set
automaticallyAdjustsScrollViewInsetsto NO. (The default value ofautomaticallyAdjustsScrollViewInsetsis YES.)
- topLayoutGuide, bottomLayoutGuide
 The
topLayoutGuideandbottomLayoutGuideproperties indicate the location of the top or bottom bar edges in a view controller’s view. If bars should overlap the top or bottom of a view, you can use Interface Builder to position the view relative to the bar by creating constraints to the bottom oftopLayoutGuideor to the top of bottomLayoutGuide. (If no bars should overlap the view, the bottom oftopLayoutGuideis the same as the top of the view and the top ofbottomLayoutGuideis the same as the bottom of the view.) Both properties are lazily created when requested.
Please refer, apple doc
Steps For Hide the status bar in iOS 7:
1.Go to your application info.plist file.
2.And Set, View controller-based status bar appearance : Boolean NO
Hope i solved the status bar issue.....
If you want the view to have the translucent nav bar (which is kind of nice) you have to setup a contentInset or similar.
Here is how I do it:
// Check if we are running on ios7
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.contentInset = UIEdgeInsetsMake(heightPadding, 0.0, 0.0, 0.0);
}
                                                                        Swift 3
override func viewWillAppear(_ animated: Bool) {
    self.edgesForExtendedLayout = []
}