【发布时间】:2011-07-09 15:27:29
【问题描述】:
我有一个UITableViewController,在其中我使用Interface Builder 添加了一个UISearchBar 作为tableHeaderView。然后我在笔尖添加了一个UISearchDisplayController,并设置了所有的连接(delegate、searchResultsDelegate、searchContentsController、searchResultsDataSource,都连接到UITableViewController)。
然后我在我的代码中实现了所有的委托和数据源方法。
它就像一个魅力,除了一个奇怪的错误:有时搜索结果表视图不会滚动,我可以看到它后面的主表视图的闪烁指示器。我 NSLog'd searchResultsTableView 显然它是主 tableview 的子视图,我想这就是我之前描述的触摸问题背后的原因。
我的错误是什么?是否可以将UITableViewController 与UISearchDisplayController 一起使用?如果是这样,我该如何设置结果表视图不会被添加为我的主表视图的子视图?
更新:我发现this sample 使用UISearchDisplayController 和UITableViewController,显然搜索表视图也被添加到主表视图中。所以现在我不认为这是我的问题。
问题是我在我正在做的事情和那个样本正在做的事情之间找不到任何实质性的区别。我只是在UITableViewController 中添加UISearchBar 作为UITableView 标头并向其中添加UISearchDisplayController ......当我尝试滚动时,就像iOS 在主表和搜索表之间混淆了。你有什么想法吗?
更新:增加了 200 代表的赏金。 请仅在您知道自己在说什么的情况下回答。
【问题讨论】:
-
您的搜索功能似乎有错误并且它会循环。
-
@user792677 对不起,我不明白你的评论,你能解释一下吗?
-
您是分别添加了搜索栏和
UISearchDisplayController,还是将UISearchDisplayController直接拖到表头视图中,它自己创建了所有需要的连接。我不知道这是否有什么不同,但我们永远不知道。 -
我可以给你的另一个提示是尝试更改主表视图的背景颜色,看看它是否与搜索结果表视图重叠(并防止它滚动)。你说你可以看到主表视图的闪烁指示器,这很奇怪,因为当我尝试示例时,搜索结果表视图与主表视图完全重叠。
-
如果没有更多信息,我认为没有人可以回答这个问题。您能否在示例代码中重现此问题并发布指向它的链接,以便人们更好地理解您的代码?
标签: iphone cocoa-touch uisearchdisplaycontroller