UISearchDisplayController和UITableview同时显示数据

时间:2014-01-22 12:04:39

标签: objective-c xcode uitableview uisearchbar uisearchdisplaycontroller

我创建了一个带有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;
}

感谢您的帮助和提示

1 个答案:

答案 0 :(得分:1)

有两种可能性

1)仅使用搜索栏控件而不是UISearchDisplayController,并根据需要填充tableview中的数据!!

2)搜索时隐藏实际的tableview,数据将显示在UISearchDisplayController tableview中。