Show UISearchDisplayTableView when search string i

2019-07-30 19:14发布

这个问题已经在这里有一个答案:

  • UISearchDisplayController -如何预装searchResultTableView 8个回答

这是非常令人沮丧:我想在UISearchDisplayController显示筛选结果,即使搜索字符串是空的。

添加调试代码numberOfSectionsInTableView:numberOfRowsInSection:表明,当我搜索字符串是空的,正在返回非零整数,但cellForRowAtIndexPath:不会被调用! 该tableview中似乎被隐藏。

我尝试设置tableview.hidden=NO;searchDisplayController:(UISearchDisplayController *)controller didHideSearchResultsTableView:(UITableView *)tableView无济于事。

这不可能是那么难拉断,我会想象这是做了很平常的事!

Answer 1:

我知道这是一个古老的职位,但我有新iOS8上UISearchController同样的问题。 解决方法是检查字符串是空的,并设置结果的tableview的财产HIDDEN = NO



Answer 2:

那么该解决方案是不使用UISearchDisplayController。 它根本不提供,你需要做这样的事情的灵活性。 建立与一个UISegmentedControl,和的UISearchBar UITableView的最大的灵活性自己的自定义的搜索界面。



Answer 3:

你可以做的是当用户点击搜索和字符串为空改变searchBartext成“\ n”回车

self.searchDisplayController.searchBar.text = @"\n";

回车不显示在搜索栏的也不会是相同的字符串,因为如果用户键入“\ n”。 所以它工作正常。 在里面

-(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString 

方法,你可以设置搜索栏的文本回@“”。 如果搜索字符串是@“\ n”

self.searchDisplayController.searchBar.text = @"";

这是对我工作!



文章来源: Show UISearchDisplayTableView when search string is empty [duplicate]