Personnalisé UITableViewController pour UISearchController superpose la barre de recherche dans iOS 11 lorsque vous définissez le contrôleur de recherche sur le navigateur navigationItem.searchController. Le contrôleur de vue de la table couvre tout l'écran de sorte que vous ne pouvez pas voir la barre de recherche lorsque vous tapez. Ce n'est pas un problème lorsque vous envoyez nil à UISearchController. Fondamentalement, j'ai une barre de recherche pour cette application de carte, donc je définis un UITableViewController à l'UISearchController pour gérer l'affichage du résultat de la recherche lors de la recherche de l'emplacement. Auparavant, la vue de la table apparaissait au bas de la barre de recherche, maintenant elle couvre tout l'écran.Personnalisé UITableViewController pour UISearchController superpose la barre de recherche dans iOS 11
Voici un extrait de code:
searchController = UISearchController(searchResultsController: searchResultsController)
searchController.searchBar.sizeToFit()
searchController.hidesNavigationBarDuringPresentation = true
searchController.dimsBackgroundDuringPresentation = true
searchController.definesPresentationContext = false
searchController.searchResultsUpdater = self
searchController.delegate = self
if #available(iOS 11.0, *){
self.navigationItem.searchController = searchController
}