我有一个UITableViewController
,在其中我使用Interface Builder将UISearchBar添加为tableHeaderView
。然后,我在 Nib 中添加了一个UISearchDisplayController
,并设置了所有连接(delegate
,searchResultsDelegate
,searchContentsController
,searchResultsDataSource
,所有连接到UITableViewController
)。
然后,我在代码中实现了所有委托(delegate)和数据源方法。
它的工作原理就像一个魅力,除了一个奇怪的错误:有时搜索结果表 View 不会滚动,并且我可以看到它后面的主表 View 的闪烁指示器。我用NSLog记录了searchResultsTableView
,显然这是主表 View 的 subview ,我想这就是我前面描述的触摸问题背后的原因。
我怎么了是否可以将UITableViewController
与UISearchDisplayController
一起使用?如果是这样,如何设置结果表 View 而不将其作为主表 View 的 subview 添加?
更新:我发现this sample结合使用UISearchDisplayController
和UITableViewController
,显然搜索表 View 也被添加到那里的主表 View 中。所以现在我不认为这是我的问题。
问题是,我在做的事与该样本在做的事之间没有发现任何实质性的区别。我只是在UISearchBar
中添加UITableView
作为UITableViewController
header ,然后向其中添加UISearchDisplayController
...就像当我尝试滚动时,iOS在主表和搜索表之间混淆了。你有什么想法?
更新:增加了200个rep赏金。 仅当您知道自己在说什么时,才回答。
最佳答案
这是一个额外的 self.tableView.scrollEnabled = YES
,在搜索数据请求完成后立即调用。希望它可以帮助将来遇到相同问题的任何人。
关于iphone - UISearchDisplayController 和 UITableViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6635680/