这个问题已经在这里有一个答案:
- UISearchDisplayController -如何预装searchResultTableView 8个回答
这是非常令人沮丧:我想在UISearchDisplayController显示筛选结果,即使搜索字符串是空的。
添加调试代码numberOfSectionsInTableView:
和numberOfRowsInSection:
表明,当我搜索字符串是空的,正在返回非零整数,但cellForRowAtIndexPath:
不会被调用! 该tableview中似乎被隐藏。
我尝试设置tableview.hidden=NO;
在searchDisplayController:(UISearchDisplayController *)controller didHideSearchResultsTableView:(UITableView *)tableView
无济于事。
这不可能是那么难拉断,我会想象这是做了很平常的事!
我知道这是一个古老的职位,但我有新iOS8上UISearchController同样的问题。 解决方法是检查字符串是空的,并设置结果的tableview的财产HIDDEN = NO
那么该解决方案是不使用UISearchDisplayController。 它根本不提供,你需要做这样的事情的灵活性。 建立与一个UISegmentedControl,和的UISearchBar UITableView的最大的灵活性自己的自定义的搜索界面。
你可以做的是当用户点击搜索和字符串为空改变searchBartext成“\ n”回车
self.searchDisplayController.searchBar.text = @"\n";
回车不显示在搜索栏的也不会是相同的字符串,因为如果用户键入“\ n”。 所以它工作正常。 在里面
-(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString
方法,你可以设置搜索栏的文本回@“”。 如果搜索字符串是@“\ n”
self.searchDisplayController.searchBar.text = @"";
这是对我工作!