Issue:

The View in iOS7 is moved up as if the navigation bar is not there. The View renders fine in iOS6. This leaves empty space at the bottom of the view.

Reason

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 the full-screen layout has been refined to let a view controller specify the layout of each edge of its view.

The wantsFullScreenLayout view controller property is deprecated in iOS 7. If you currently specify,wantsFullScreenLayout = NO the view controller may display its content at an unexpected screen location when it runs in iOS 7.

Solution

To adjust how a view controller lays out its views, UIViewController provides the following properties:

edgesForExtendedLayout

iOS7 the navigation bar is optional, Add the following logic in viewDidLoad method.  

if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) 

        self.edgesForExtendedLayout = UIRectEdgeNone;