2013-12-08 159 views
4

我在使用属性displaysSearchBarInNavigationBar = YES的导航栏中的搜索栏存在问题。 我在导航栏和搜索内容之间有一个空白空间,它等于导航项目+状态栏的高度。 就像在构建视图时一样,框架并不知道我的搜索栏是导航栏......这个空白空间在显示结果表之前出现在任何东西之前。带有displaysSearchBarInNavigationBar的导航栏下方的空白空间=是

我还没有发现与此相关的问题,除了这个话题东西: Empty UISearchbar space when combining search bar with Nav bar in iOS7?

我试着用搜索栏的高度,说等于0,但它并没有为我工作。

任何想法请关于这个空的空间?

回答

1

我有同样的问题。它发生时,当您初始化UISearchDisplayControllerviewDidLoad。将这部分代码替换为loadView。这应该解决这个问题!

2

迄今我发现这个唯一的解决方案,是使用

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

in viewDidLoad。这为44(已知搜索栏的高度)设置了一个负偏移量来清除该额外空间。

一点点黑客,但它的作品。

5

对我来说,关键是要设置选项在StoryBoard编辑器中启用“不透明酒吧”。

Set "Under Opaque Bars"

0

我固定使用从@Jeremy希克斯和@ dsgrant07两个溶液中的空的空间。多谢你们。

所以把这个在wiewDidLoad:

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

和配置您的故事板:

enter image description here