Я реализовал UISearchDisplayController, используя справочный образец Apple TableSearch . Мой список содержит чуть более 10.000 элементов, и это делает фильтрацию слишком медленной для выполнения каждого символа, который вводит пользователь. Мне удалось ограничить поиск, когда пользователь нажимает кнопку поиска со следующим кодом.
- (void)searchBarSearchButtonClicked:(UISearchBar*)searchBar
{
[self filterContentForSearchText:[self.searchDisplayController.searchBar text]
scope:[self.searchDisplayController.searchBar selectedScopeButtonIndex]];
[self.searchDisplayController.searchResultsTableView reloadData];
}
- (BOOL)searchDisplayController:(UISearchDisplayController*)controller
shouldReloadTableForSearchString:(NSString*)searchString
{
return NO;
}
Теперь моя проблема в том, что как только пользователь вводит первый символ, исчезает затемнение табличного представления, и я хотел бы оставить его недоступным, пока пользователь не нажмет на кнопку поиска. (Или отменяет поиск.)