iOS 7 UISearchDisplayController search bar overlaps status bar while searching

desmondhume picture desmondhume · Sep 20, 2013 · Viewed 46.7k times · Source

I'm updating my app for iOS 7, and I'm in the process of adjusting all my views to account for the new transparent status bar (my app will still use opaque navigation bars).

It was relatively easy to adjust for the status bar in every view, except one major problem I'm having with a UISearchBar connected to a UISearchDisplayController in one of my view controllers.

The search bar seems to display normally, as shown below:

Search Bar

The problem is, as soon as I begin searching, the navigation bar disappears (as it should), but everything else also moves up to overlap the status bar:

Broken Search Bar

This doesn't appear to be working as intended, since the darkening of the screen happens 20 pixels below the search bar, where the search bar should end.

Is there a built in solution for this in iOS 7? I'd rather not have to manually adjust the frame for every view each time the user begins and ends searching.

Thanks!

Answer

Deddiekoel picture Deddiekoel · Sep 25, 2013

Putting the following line in the viewDidLoad fixed it for me:

self.edgesForExtendedLayout = UIRectEdgeNone;