Ios7 导航栏下方的空白处显示ArchBarInnavigationBar=YES

Ios7 导航栏下方的空白处显示ArchBarInnavigationBar=YES,ios7,uinavigationbar,uisearchbar,Ios7,Uinavigationbar,Uisearchbar,我发现使用属性displayseArchBarInnavigationBar=YES的导航栏中的搜索栏有问题。 我在导航栏和搜索内容之间有一个空白,等于导航项+状态栏的高度。 就好像在构建视图的过程中,框架不知道我的搜索栏是导航栏。。。在倾翻任何内容之前以及显示结果表时,都会出现此空白 除了这个主题之外,我没有发现任何与此问题相关的内容: 我试着将搜索栏的高度设置为0,但对我来说不起作用 你知道这个空地方吗?我也有同样的问题。在viewDidLoad中初始化UISearchDisplayCon

我发现使用属性displayseArchBarInnavigationBar=YES的导航栏中的搜索栏有问题。 我在导航栏和搜索内容之间有一个空白,等于导航项+状态栏的高度。 就好像在构建视图的过程中,框架不知道我的搜索栏是导航栏。。。在倾翻任何内容之前以及显示结果表时,都会出现此空白

除了这个主题之外,我没有发现任何与此问题相关的内容:

我试着将搜索栏的高度设置为0,但对我来说不起作用


你知道这个空地方吗?

我也有同样的问题。在
viewDidLoad
中初始化
UISearchDisplayController
时会发生这种情况。将这部分代码替换为
loadView
。这应该可以解决这个问题

到目前为止,我找到的唯一解决办法是使用

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

在viewDidLoad中。这会将负偏移设置为44(搜索栏的已知高度),以清除多余的空间


有点像黑客,但它是有效的。

我也有同样的问题,在没有其他人为我提供解决方案之后,我找到了解决iOS 7错误的方法:

对我来说,关键是在情节提要编辑器中设置启用“不透明条下”的选项


我使用@Jeremy Hicks和@dsgrant07的解决方案修复了空白。谢谢各位

所以把它放到wiewidload中:

- (void)viedDidLoad{
   [super viedDidLoad];
   ...
   self.tableView.contentInset = UIEdgeInsetsMake(-44, 0, 0, 0);
}
并配置您的故事板: