Я использую UISearchController в прошивке 8 со следующим intializaiton в viewDidLoad контроллера просмотра встроенного в закладке контроллереUISearchController делает контроллер черного
_searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
_searchBar = _searchController.searchBar;
[_searchController.searchBar sizeToFit];
_searchController.searchBar.delegate = self;
_searchController.searchResultsUpdater = self;
_searchController.dimsBackgroundDuringPresentation = NO;
_searchController.hidesNavigationBarDuringPresentation = NO;
self.definesPresentationContext = NO;
_shopsTable.tableHeaderView = _searchController.searchBar;
Я реализованный
- (void) updateSearchResultsForSearchController:(UISearchController *)searchController
и (void)filterContentForSearchText:(NSString *)searchText
и поисковые работы, табличное представление обновляется должным образом и т. Д.
Но!
Если я переключаю вкладки во время активного поиска (просто нажимая на панель поиска или с некоторым текстом) на другую вкладку, а затем возвращаюсь к вкладке поиска, я получаю пустой экран с только панелью поиска, например это
В этом случае я искать вещи, которые начинаются с lar
, который сделал возвращать результаты и отображены их correcly. Но если я переключу вкладки и вернусь на вкладку поиска, я получу пустой экран. Единственный способ, по которому контроллер возвращается в исходное состояние, - это если я делаю _searchController.active = NO
. Но если пользователь хочет сохранить этот поиск активным, я не могу просто его отключить.
Я уверен, что я что-то не хватает, но так как там не так много, чтобы сделать в UISeachController, я не могу понять, что является причиной этого ..
может пожалуйста предоставить образец объектного кода c, я застрял с той же проблемой? Я очень новичок в разработке IOS. У меня есть отдельный контроллер просмотра для поиска, а также основной список. это причина проблемы. – Amith