Généralement, un UISearchDisplayController, lorsqu'il est activé, obscurcit la tableView et concentre la barre de recherche. Dès que vous entrez du texte dans la barre de recherche, il crée un searchResultsTableView qui affiche entre la barre de recherche et le clavier. Le searchDisplayController du délégué est appelée lors de cette deuxième UITableView est chargé/montré/caché/décharger. Habituellement, il montre en direct les résultats de la recherche ou de l'auto-complétion des entrées lors de la frappe.
Dans mon application, je recherche un webservice et je ne veux pas l'appeler le webservice pour chaque lettre de l'utilisateur. Donc, je veux désactiver entièrement les searchResultsTableView et de garder la grisé charbonné, alors qu'il pénètre dans le texte. Je serais alors en mesure de déclencher la recherche (avec un écran de chargement) une fois qu'il appuie sur le bouton de recherche.
Juste retour de zéro lignes de la searchResultsTableView n'a pas l'air bien car il affiche un vide searchResultsTableView avec un "pas de résultats" message. J'ai essayé de cacher la table lorsqu'il s'affiche (searchDisplayController:didLoadSearchResultsTableView:
) qui fonctionne, mais la masqués grisé superposition est également caché de sorte que le sous-jacent tableView est complètement visible à nouveau.
Des idées en plus de recréer le UISearchDisplayController fonctionnalité à partir de zéro?