J'ai un UISearchController
qui possède son propre contrôleur de résultats personnalisé, plutôt que de filtrer le contenu dans la vue immédiate. Le UISearchBar
apparaît correctement dans la barre de navigation, mais lorsque je commence à taper des caractères dans le champ de recherche, mon contrôleur personnalisé apparaît et remplit tout l'écran, masquant la barre de navigation et la fenêtre dans laquelle je tape ma requête. .UISearchController ResultsController apparaît sur la barre de navigation
Cela a l'habitude de travailler, mais j'ai récemment changé mon storyboard pour avoir le UINavigationController
comme point d'entrée, conduisant à un UITabBarController
, qui avait alors ses contrôleurs à onglets.
Le UITabBarController
a maintenant toute la logique pour les recherches, de sorte qu'il peut acheminer les actions prises sur les résultats de recherche vers l'onglet approprié via un protocole que j'ai implémenté. Ci-dessous est mon storyboard, notez que le contrôleur de résultat de recherche personnalisée est l'élément assis sous le UITabBarController
, et l'élément non attaché dans le coin supérieur droit, est utilisé via une bibliothèque et est attaché au contrôleur de l'onglet supérieur en interne.
Je commence à me demander si cette configuration spécifique fonctionne? Puis-je avoir le UINavigationController
devant le UITabBarController
?
Je voulais avoir une barre de recherche persistante en haut avec tout le code de recherche partagé en un seul endroit (UITabBarController) plutôt que de mettre un UINavigationController devant chaque onglet?
Si cela fonctionne, y a-t-il des raisons pour lesquelles le contrôleur de résultats de recherche personnalisé couvre maintenant tout l'écran au lieu de passer sous la barre de navigation?