通常,当激活UISearchDisplayController时,会使tableView变暗并聚焦搜索栏.在搜索栏中输入文本后,它会创建一个searchResultsTableView,显示在搜索栏和键盘之间.当加载/显示/隐藏/卸载第二个UITableView时,将调用searchDisplayController的委托.通常它会在打字时显示实时搜索结果或自动完成条目.
在我的应用程序中,我想搜索一个Web服务,但我不想为用户输入的每个字母调用Web服务.因此,我想完全禁用searchResultsTableView,并在他输入文本时保留暗显的黑色覆盖.然后,我会用一个触发器点击屏幕上的"搜索"按钮.
只为searchResultsTableView返回零行看起来不太好,因为它会显示一个空的searchResultsTableView,并显示一条"no results"消息.我试图在表格出现(searchDisplayController:didLoadSearchResultsTableView:
)时隐藏它,这是可行的,但是黑色的覆盖层也被隐藏,这样基础的表格视图就可以再次完全可见.
除了从头开始重新创建UISearchDisplayController功能,还有什么 idea 吗?