Comment faire disparaître une UISearchController ? (iOS 8 et suivre)
Ce doit être trivial, mais je ne trouve pas comment vous êtes censé ignorer un UISearchController par programmation?
Remarque que c'est la nouvelle UISearchController (présenté en 2014 avec iOS 8), pas le UISearchDisplayController.
Jusqu'à présent, voici ce que j'ai
//Dismiss the search tableview
searchController.dismissViewControllerAnimated()
//Clear the Search bar text
searchController.active = false
Mais j'ai toujours le bouton annuler et ne peut pas se débarrasser de lui.
Vous devez vous connecter pour publier un commentaire.
OK donc après plusieurs essais, il s'avère que vous avez juste à définir:
C'est la première chose que j'ai essayé, mais je l'ai appelé dans l'un des UISearchControllerDelegate méthodes qui ne fonctionnent pas (probablement dû l'appeler avec dispatch_async (halbano la réponse semble confirmer que)).
De toute façon, puisque je ne pouvais pas trouver la réponse en ligne, je vais répondre à ma propre question, j'espère que ça aidera quelqu'un.
UISearchControllerDelegate
'sdidDismissSearchController(searchController)
méthode.Avez-vous eu ce problème lorsque vous essayez de faire disparaître de recherche contrôleur après segueing un autre point de vue? J'ai rencontré ce problème aussi. Je pense que vous pourriez vouloir utiliser
dans la vue du contrôleur, qui présente la UISearchController que par ce post UISearchController pas rejetée lorsque la Vue est poussé. Il fonctionne pour moi.
J'ai été la présentation de la mine à insérer sur une barre de navigation. Le code qui fonctionne pour moi est:
Espère que cela aide quelqu'un.
SWIFT 4+
J'ai eu ce problème à l'aide de la recherche et de l'interactionController, résolu après il suffit d'inclure la ligne:
auto.dismissViewControllerAnimated(faux, d'achèvement: néant)
Ouvrir l'interaction et de clarté de la recherche sans changements dans l'délégué.
willDismissSearchController
qui pourrait être nécessaire.