2017-10-19 13 views
0

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 
    } 

Répondre

0

trouvé la question. Besoin de définir la bonne valeur d'origine dans willPresentSearchController