我创建了一个带有UISearchDisplayController的UITableViewViewController。当我在搜索栏中搜索时,值将显示在额外的tableview中。
我在clearColor上设置了两个背景,因此我可以看到两个tableviews都有数据。
我如何处理在使用搜索栏时只会显示搜索到的数据,之后会显示正常数据?
这就是我用于UISearchDisplayController的方法:
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString
{
self.filteredList = [SearchHelper getSearchedItemsAsArray:[self.arrayWithCompanies mutableCopy] searchWord:searchString scope:[[self.searchDisplayController.searchBar scopeButtonTitles] objectAtIndex:[self.searchDisplayController.searchBar selectedScopeButtonIndex]]];
return YES;
}
-(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchScope:(NSInteger)searchOption
{
[SearchHelper getSearchedItemsAsArray:[self.arrayWithCompanies mutableCopy] searchWord:self.searchDisplayController.searchBar.text scope:[[self.searchDisplayController.searchBar scopeButtonTitles] objectAtIndex:searchOption]];
return YES;
}
感谢您的帮助和提示
答案 0 :(得分:1)
有两种可能性
1)仅使用搜索栏控件而不是UISearchDisplayController,并根据需要填充tableview中的数据!!
2)搜索时隐藏实际的tableview,数据将显示在UISearchDisplayController tableview中。