d37*_*3ur 17 interface-builder uitableview uisearchdisplaycontroller ios7
我正在构建一个仅限iOS 7的应用程序.我正在尝试将UISearchDisplayController设置到导航栏中.
我设置如下:在故事板中,我在视图控制器的视图中添加了"搜索栏和搜索显示控制器",并将其设置为(0,0)相对于顶部布局指南.我设置约束来固定左,上,右.(我玩限制,我完全删除它们,没关系)最重要的是我有我的表视图.当我将搜索栏添加到故事板中的视图时,它会自动为searchDisplayController和searchBar委托设置插座.在代码我self.searchDisplayController.displaysSearchBarInNavigationBar = YES;有两个问题:
1)没有为搜索栏显示任何按钮(界面构建器 - >选择搜索栏 - >选项:未选中),搜索栏位于屏幕中间:

如果我点击导航栏,它会开始编辑搜索栏:

另请注意,暗覆盖图似乎偏离导航栏.在我看来,空间与导航栏的高度相同.就像它已经被那么多下降了.此外,当它显示搜索结果时,内容视图的顶部向下移动相同的量(更多图片跟随),这带来了第二个问题.
2)我搞砸了一会儿,决定检查选项,让它显示取消按钮.现在我已正确嵌入导航栏中的搜索栏,但叠加层仍然向下移动:

同样,当搜索结果表视图出现时,它会向下移动相同的数量(请注意右侧的滚动条):

更奇怪的是,我在搜索显示控制器的tableview图层上设置了一个边框,看起来是正确的:

我之前从未使用过UISearchDisplayController而且我不熟悉如何设置它,但功能上它工作正常.我已经阅读了一些其他类似的帖子,但唯一的建议是通过调整帧和设置手动偏移来破解它.我更想知道造成这种情况的原因,这是一个错误吗?我做错了什么?如果这是一个错误,我可以等待修复.这似乎是一个基本的东西,千人一定没有任何问题,所以我觉得我不是以某种方式正确设置它.谢谢你的输入.
小智 29
我记得遇到了你正在观察的同样问题.可以尝试一些解决方案.
如果您使用的是故事板 您应该单击为tableview设置的视图控制器或TableView控制器,然后转到其属性检查器并查看ViewController部分,并将Extend Edges部分设置为Top Bars.
如果您没有使用故事板,可以使用viewcontrollers edgesForExtendedLayout属性手动设置设置,这应该可以解决问题.我在使用故事板.
| 归档时间: |
|
| 查看次数: |
14991 次 |
| 最近记录: |