我有一个UITableViewController,在其中我使用Interface Builder将UISearchBar添加为tableHeaderView。然后,我在 Nib 中添加了一个UISearchDisplayController,并设置了所有连接(delegatesearchResultsDelegatesearchContentsControllersearchResultsDataSource,所有连接到UITableViewController)。
然后,我在代码中实现了所有委托(delegate)和数据源方法。

它的工作原理就像一个魅力,除了一个奇怪的错误:有时搜索结果表 View 不会滚动,并且我可以看到它后面的主表 View 的闪烁指示器。我用NSLog记录了searchResultsTableView,显然这是主表 View 的 subview ,我想这就是我前面描述的触摸问题背后的原因。

我怎么了是否可以将UITableViewControllerUISearchDisplayController一起使用?如果是这样,如何设置结果表 View 而不将其作为主表 View 的 subview 添加?

更新:我发现this sample结合使用UISearchDisplayControllerUITableViewController,显然搜索表 View 也被添加到那里的主表 View 中。所以现在我不认为这是我的问题。

问题是,我在做的事与该样本在做的事之间没有发现任何实质性的区别。我只是在UISearchBar中添加UITableView作为UITableViewController header ,然后向其中添加UISearchDisplayController ...就像当我尝试滚动时,iOS在主表和搜索表之间混淆了。你有什么想法?

更新:增加了200个rep赏金。 仅当您知道自己在说什么时,才回答。

最佳答案

这是一个额外的 self.tableView.scrollEnabled = YES,在搜索数据请求完成后立即调用。希望它可以帮助将来遇到相同问题的任何人。

关于iphone - UISearchDisplayController 和 UITableViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6635680/

10-13 06:32