J'ai le problème que sur l'iPad, les résultats sont affichés dans une vue de table intégré dans une liste, plutôt que dans le cadre de la table d'origine de la vue. Toute solution à cela?
Si je l'ai mis comme ça, le searchDisplayController ne montre pas plus. Le cellForRowAtIndexPath: méthode n'est pas appelé. Avec searchDisplayController.displaysSearchBarInNavigationBar fonctionne, mais je ne peux pas l'utiliser parce que je suis de soutien iOS 6 trop...
Cette approche se cache le titre
auto.navigationItem.titleView = barre de recherche si vous vous voulez en centre cela fonctionne
Comme d'iOS 7, la UISearchDisplayController prend en charge cette fonction par défaut. Définir la UISearchDisplayController de displaysSearchBarInNavigationBar = YES de le faire fonctionner facilement.
Par la documentation:
De départ dans iOS 7.0, vous pouvez utiliser une recherche contrôleur d'écran avec une barre de navigation (une instance de la UINavigationBar classe) par la configuration de la recherche de l'affichage du contrôleur de displaysSearchBarInNavigationBar et navigationItem propriétés.
Selon l'Apple docs, il semble que nous ne pouvons pas définir la barre de recherche dans le titleView. Suis-je le droit? Pouvez-vous nous montrer comment vous définissez la navigationItem de la searchDisplayController? Merci
J'ai essayé cela, mais ma barre de recherche est dans le milieu de l'écran!
Le moyen le plus facile lors de l'utilisation de Storyboards est de faire glisser une Barre de Recherche et la Recherche de contrôle de l'Affichage de la Zone d'Utilité dans le fond de la scène actuelle à l'intérieur de plan du Document. Après cela, il suffit d'ajouter self.searchDisplayController.displaysSearchBarInNavigationBar = YES; dans le viewdidload. Vous souhaiterez peut-être afficher un bouton annuler ou de masquer le bouton retour lors de l'édition de ce qui pourrait être fait dans le délégué de la mise en œuvre.
Cela rend la barre de recherche occupent l'ensemble de la barre de navigation, en cachant tout existant leftbar et rightbarbuttons. Comment puis-je encore garder ceux-là?
découvrez la réponse que je viens de poster sur la façon d'ajouter un searchdisplaycontroller à votre navigation tout en maintenant la gauche/droite bouton de la barre d'objets.
J'ai eu ce problème quand j'ai attribué barre de recherche pour tableview en-tête, quand je l'ai enlevé j'ai un autre problème — les résultats de la recherche en vue tableau montre que lors de la première recherche.
Comme un intervenant a observé, à l'aide de searchDisplayController.displaysSearchBarInNavigationBar = true finit par cacher tout existant gauche/droite bouton de la barre d'objets.
J'ai trouvé deux façons d'ajouter un searchBar à un navigationBar à l'aide de iOS7 nouvelle propriété sur searchDisplayController.
1) Plume Approche Fondée Sur Les
Si vous êtes en utilisant un .xib, vous pouvez définir un Utilisateur Défini Exécution de l'Attribut de cette valeur et pour quelque raison que ce soit, la leftBarButtonItem reste dans le tact. Je ne l'ai pas testé avec un rightBarButtonItem.
2) Code (Heure Des Questions)
Si vous souhaitez mettre en œuvre dans le code, le timing semble à la matière. Il semble que vous devez ajouter le searchBar à la navigationBar d'abord, puis réglez votre barButtonItem.
J'ai essayé (1) dans la table de montage séquentiel et il se bloque. cette classe n'est pas la valeur de la clé de codage conforme à la clé displaysSearchBarInNavigationBar.'
Vous pouvez le faire dans un StoryBoard, mais vous devez le régler sur la Recherche de Contrôleur d'Affichage, pas sur le point de Vue du Contrôleur; toutefois, il ne préserve pas le bouton de droite de l'élément dans mon test, mais il ne put la barre de recherche dans la barre de navigation.
Vous pouvez utiliser le n ° 2 avec UIBarButtonItems installation dans un StoryBoard qui ont un référencement de sortie. Au lieu de [UIBarButtonItem nouveau] ci-dessus n': self.navigationItem.leftBarButtonItem = self.leftButton (où l'auto.leftButton est la prise pour le bouton de gauche).
Il semble que SearchDisplayController avait été abandonné depuis iOS 8.0.
Découvrez d'Apple UICatalog exemple de code. Il montre comment utiliser la nouvelle UISearchController de trois façons différentes: modal, dans la barre de navigation, et en dessous de la barre de navigation.
Ces exemples m'ont aidé incroyablement bien. Merci!!!!
J'ai pris une pause de l'iOS pour quelques années et a raté beaucoup de UIKit mises à jour. C'est tellement utile. Apple a vraiment besoin d'une meilleure organisation de leurs docs. J'ai passé d'innombrables heures à traverser la WWDC vidéos/échantillons, la recherche de Documents d'Archives, et je n'ai jamais vu cela. Merci pour le partage
Pour mettre la barre de recherche dans le centre de navigationBar:
Pour mettre la barre de recherche à gauche/côté droit de navigationBar:
searchDisplayController
ne montre pas plus. LecellForRowAtIndexPath:
méthode n'est pas appelé. AvecsearchDisplayController.displaysSearchBarInNavigationBar
fonctionne, mais je ne peux pas l'utiliser parce que je suis de soutien iOS 6 trop...Comme d'iOS 7, la UISearchDisplayController prend en charge cette fonction par défaut. Définir la UISearchDisplayController de
displaysSearchBarInNavigationBar = YES
de le faire fonctionner facilement.Par la documentation:
self.searchDisplayController.displaysSearchBarInNavigationBar = YES;
dans le viewdidload. Vous souhaiterez peut-être afficher un bouton annuler ou de masquer le bouton retour lors de l'édition de ce qui pourrait être fait dans le délégué de la mise en œuvre.Comme un intervenant a observé, à l'aide de
searchDisplayController.displaysSearchBarInNavigationBar = true
finit par cacher tout existant gauche/droite bouton de la barre d'objets.J'ai trouvé deux façons d'ajouter un
searchBar
à unnavigationBar
à l'aide de iOS7 nouvelle propriété sursearchDisplayController
.1) Plume Approche Fondée Sur Les
Si vous êtes en utilisant un .xib, vous pouvez définir un Utilisateur Défini Exécution de l'Attribut de cette valeur et pour quelque raison que ce soit, la leftBarButtonItem reste dans le tact. Je ne l'ai pas testé avec un rightBarButtonItem.
2) Code (Heure Des Questions)
Si vous souhaitez mettre en œuvre dans le code, le timing semble à la matière. Il semble que vous devez ajouter le
searchBar
à lanavigationBar
d'abord, puis réglez votrebarButtonItem
.self.navigationItem.leftBarButtonItem = self.leftButton
(où l'auto.leftButton est la prise pour le bouton de gauche).Découvrez d'Apple UICatalog exemple de code. Il montre comment utiliser la nouvelle
UISearchController
de trois façons différentes: modal, dans la barre de navigation, et en dessous de la barre de navigation.Objective-C d'extrait de code
Lire la suite ici - https://blog.kiprosh.com/ios-11-new-navigation-bar-and-search-controller/