我使用属性displaysSearchBarInNavigationBar = YES
在导航栏中的搜索栏出现问题。
我在导航栏和搜索内容之间有一个空白区域,它等于导航项目+状态栏的高度。
就好像在构建视图时,框架不知道我的搜索栏是导航栏......这个空白空间出现在小费之前,以及显示结果表时。
除了这个主题,我没有找到与此问题相关的任何内容: Empty UISearchbar space when combining search bar with Nav bar in iOS7?
我尝试使用搜索栏高度等于0,但它对我不起作用。
请问这个空地吗?
答案 0 :(得分:5)
对我来说,关键是设置选项以在StoryBoard编辑器中启用“Under Opaque Bars”。
答案 1 :(得分:2)
我迄今为止找到的唯一解决方案是使用
self.tableView.contentInset = UIEdgeInsetsMake(-44,0,0,0);
viewDidLoad中的。这将设置44(搜索栏的已知高度)的负偏移量以清除该额外空间。
有点黑客但它有效。
答案 2 :(得分:1)
我遇到了同样的问题。当您在UISearchDisplayController
中初始化viewDidLoad
时,会发生这种情况。将此部分代码替换为loadView
。这应该解决这个问题!
答案 3 :(得分:0)
我有同样的问题,在没有其他人提供的解决方案实际修复它之后,我能够找到这个iOS 7错误的解决方法:https://stackoverflow.com/a/21493296/580560
答案 4 :(得分:0)
我使用@Jeremy Hicks和@ dsgrant07的解决方案修复了空白区域。谢谢你们。
所以把它放在wiewDidLoad中:
- (void)viedDidLoad{
[super viedDidLoad];
...
self.tableView.contentInset = UIEdgeInsetsMake(-44, 0, 0, 0);
}
并配置故事板: