Как правило, UISearchDisplayController при активации отключает tableView и фокусирует SearchBar. Как только вы вводите текст в searchBar, он создает searchResultsTableView, который отображается между SearchBar и клавиатурой. Делегатор searchDisplayController вызывается, когда этот второй UITableView загружается/отображается/скрыт/выгружен. Обычно он показывает результаты поиска в реальном времени или записи автозаполнения при вводе.
В моем приложении я хочу выполнить поиск в веб-сервисе, и я не хочу вызывать веб-сервис для каждой буквы, которую вводит пользователь. Поэтому я хочу полностью отключить searchResultsTableView и сохранить затемненный черный оверлей, когда он войдет в текст. Затем я запускаю поиск (с экраном загрузки), когда он нажимает кнопку поиска.
Простое возвращение нулевых строк для searchResultsTableView не выглядит красивым, так как оно отображает пустой поискResultsTableView с сообщением "нет результатов". Я попытался скрыть таблицу, когда она появится (searchDisplayController:didLoadSearchResultsTableView:
), которая работает, но затемненный затемненный оверлей также скрыт, так что базовый tableView снова будет снова виден.
Любые идеи, кроме воссоздания функциональности UISearchDisplayController с нуля?