Sto usando UISearchController per visualizzare una barra di ricerca e risultati all'interno di UITableView. Sono riuscito a configurarlo correttamente, ma quando cerco i risultati e poi seleziono una delle righe nella vista tabella, e spingo un nuovo controller di visualizzazione nello stack di navigazione, mi aspetto che la barra di ricerca non sia più visibile. Tuttavia, quando provo questo, la barra di ricerca del primo controller di vista è visibile nella 2 ° controller della vista:UISearchController non nasconde la vista quando viene premuto
if (self.searchController == nil) {
self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
self.searchController.searchResultsUpdater = self;
self.searchController.dimsBackgroundDuringPresentation = NO;
self.searchController.searchBar.scopeButtonTitles = @[];
self.searchController.searchBar.delegate = self;
self.tableView.tableHeaderView = self.searchController.searchBar;
}
Una possibilità è quella di chiamare self.searchController setActive:NO]
all'interno di didSelectRowAtIndexPath:
ma non c'è un modo per farlo senza l'animazione distrazione di abbassare la barra di ricerca ogni volta che vengono selezionati i risultati della ricerca.
Qualcuno ha lo stesso problema? C'è un modo per dire a UISearchController di nascondere la barra di ricerca quando viene spinto? Ha funzionato bene quando stavo usando UISearchDisplayController
Questa soluzione [soluzione] (http://stackoverflow.com/questions/29472011/uisearchcontroller-persisting-after-segue/29624748#29624748) aiuta? –