Empty space below navigation bar with displaysSearchBarInNavigationBar = YES

走远了吗. 提交于 2019-12-22 08:07:20

问题


I've an issue with a search bar in a navigation bar using the property displaysSearchBarInNavigationBar = YES. I have an empty space between the navigation bar and the search content which is equals to the height of the navigation item + status bar. It's just as if during building the view, the framework doesn't know that my search bar is the navigation bar... This empty space appears before tipping anything, and when displaying the result tables.

I haven't found anything related to this issue except this topic: Empty UISearchbar space when combining search bar with Nav bar in iOS7?

I tried with search bar height equals to 0 as said, but it didn't work for me.

Any idea please about this empty space ?


回答1:


For me the key was to set the option to enable "Under Opaque Bars" in the StoryBoard editor.




回答2:


The only solution I have found thus far for this, is to use

self.tableView.contentInset = UIEdgeInsetsMake(-44, 0, 0, 0);

in the viewDidLoad. This sets a negative offset for 44 (known height of searchbar) to clear that extra space.

A bit of a hack but it works.




回答3:


I have got the same problem. It happens, when you initialize UISearchDisplayController in viewDidLoad. Replace this part of code to loadView. This should fix this problem!




回答4:


I has the same issue and after no solutions others offered actually fixed it for me, I was able to figure out a workaround for this iOS 7 bug: https://stackoverflow.com/a/21493296/580560




回答5:


I fixed the empty space using both solution from @Jeremy Hicks and @dsgrant07. Thanks guys.

So put this in the wiewDidLoad:

- (void)viedDidLoad{
   [super viedDidLoad];
   ...
   self.tableView.contentInset = UIEdgeInsetsMake(-44, 0, 0, 0);
}

and configure your storyboard:



来源:https://stackoverflow.com/questions/20454414/empty-space-below-navigation-bar-with-displayssearchbarinnavigationbar-yes

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!