UISearchDisplayController结果表重叠UISearchBar

时间:2013-12-23 21:05:15

标签: objective-c ios7 autolayout uisearchdisplaycontroller

我的UISearchDisplayController有一个奇怪的问题。当搜索显示激活背景淡入淡出视图的框架且tableviewUISearchBar不正确重叠时。结果tableview似乎未考虑UIStatusBar的偏移量。

ViewController正在使用auto layout。由于应用程序不使用任何不透明条形,因此视图控制器不会扩展其任何边缘。

 Extend edges under top bars = NO, 
 under bottom bars = NO, and
 under opaque bars = NO.

以下是初始布局:

Initial Layout

当搜索显示激活时会发生这种情况:

Activated Search

最后,这是搜索的结果输出:

Search Results

1 个答案:

答案 0 :(得分:3)

我解决了自己的问题。一个艰难的经验教训。经过几个小时的思考“真的不应该这么难。”我意识到我的UISearchDisplayController实例没有正确链接到其父视图控制器的API提供的属性。如果您正在使用UIStoryBoards / Interface Builder,请务必单击ViewController并在检查器中查看其提供的插座。如果你看到这个:

Missing Outlet

然后出现问题,你就会像我一样遇到问题。您要做的是单击该空白圆圈并拖动到您的搜索显示控制器的实例。如果事情是正确的,你应该看到:

Correct Link

我愚蠢地没注意这一点,并创建了我自己的IBOutlet来引用搜索显示控制器。这导致IB将API提供的出口归零,因为UIViewController只能支持一个搜索显示控制器。如果您需要我澄清一切,请告诉我。