【问题标题】:UISearchDisplayController Results Table Overlapping UISearchBarUISearchDisplayController 结果表重叠 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 中使用过这个。它必须显示在窗口上,我在分离的视图上使用它。
  • 不,我已经审查了这个问题。他有相反的问题。他的搜索结果显示在正确的位置,但他的搜索栏在状态栏下方呈现不正确。

标签: objective-c ios7 autolayout uisearchdisplaycontroller


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多