UISearchDisplayController 结果表重叠 UISearchBar
Posted
技术标签:
【中文标题】UISearchDisplayController 结果表重叠 UISearchBar【英文标题】:UISearchDisplayController Results Table Overlapping UISearchBar 【发布时间】:2014-01-12 02:55:39 【问题描述】:我的UISearchDisplayController
有一个奇怪的问题。当搜索显示激活背景渐变视图的框架并且tableview
错误地与UISearchBar
重叠时。结果tableview
似乎没有考虑UIStatusBar
的偏移量。
ViewController
正在使用auto layout
。由于应用程序不使用任何不透明条,因此视图控制器不会扩展其任何边缘。
Extend edges under top bars = NO,
under bottom bars = NO, and
under opaque bars = NO.
这是初始布局:
搜索显示激活时会发生以下情况:
最后,这是搜索的结果:
【问题讨论】:
fadingView,你把它作为子视图带到 tableview 上,或者你把它呈现在UITableView
上?
UISearchDisplayController 会自动处理这个问题。我没有以任何特定方式配置它的实际演示。我只是有用于在我的视图控制器中填充表的委托/数据源方法。
当我使用 presentViewController 弹出邮箱时,我只在 ios7 中使用过这个。它必须显示在窗口上,我在分离的视图上使用它。
***.com/questions/18925900/…的可能重复
不,我已经审查了这个问题。他有相反的问题。他的搜索结果显示在正确的位置,但他的搜索栏在状态栏下方呈现不正确。
【参考方案1】:
我解决了自己的问题。一个惨痛的教训。经过几个小时的思考“这真的不应该这么难。”我意识到我的 UISearchDisplayController 实例没有正确链接到其父视图控制器的 API 提供的属性。如果您使用的是 UIStoryBoards / Interface Builder,请务必单击您的 ViewController 并在检查器中查看其提供的插座。如果你看到这个:
然后出了点问题,你会像我一样遇到问题。您要做的是单击该空圆圈并拖动到您的搜索显示控制器实例。如果事情连接正确,您应该会看到:
我愚蠢地没有注意这一点,并创建了自己的 IBOutlet 来引用 Search Display 控制器。这导致 IB 取消了 API 提供的出口,因为 UIViewController 只能支持一个搜索显示控制器。如果您需要我澄清任何事情,请告诉我。
【讨论】:
以上是关于UISearchDisplayController 结果表重叠 UISearchBar的主要内容,如果未能解决你的问题,请参考以下文章
为啥 UISearchDisplayController 有时有效,有时无效?
iOS UISearchDisplayController学习笔记
在 UISearchDisplayController 上遇到僵尸问题
修复 UITableView 顶部的 UISearchdisplaycontroller 搜索栏