J'ai lu tellement de solution sur Comment puis-je concentrer une barre de recherche pour que le clavier apparaisse lorsque j'ouvre ma vue de recherche, et tout ce qui est comme celui-ci maintenant, j'ai essayé ceci, et j'ai aussi ajouté un p> parce que j'utilise un SearchDisplayController, mais jusqu'à présent, le meilleur résultat que je peux avoir est d'avoir le curseur sur la barre de recherche, l'UitailView Avec une superposition sur elle, mais toujours pas de clavier. p> Si j'exécute le simulateur, je peux taper sur la barre de recherche avec le clavier de mon ordinateur, mais sur un iphone, je ne peux rien faire. P> < P> Si vous souhaitez regarder à mon code: http://nopaste.info/39fcda4771.htmlled/a >
Le focus doit être exécuté dans la méthode de la vue ViewDiddload P> Merci à nouveau. p> p>
4 Réponses :
Utilisez l'UISEARCHBARLEEGATE et déclarez la barre de recherche dans le fichier d'en-tête, comme celui-ci ... et déclarer votre barre de recherche dans loadView P> - (void)viewDidAppear:(BOOL)animated {
//ensure the keyboard comes up from the start
[sBar becomeFirstResponder];
[super viewDidAppear:animated];
ne devrait pas [Super ViewDidAppear: Animated]; Appelez d'abord que [SBAR DevenezRespondester];
Fonctionne pour moi, j'appelle une barre de recherche active après [Super ViewDidAppear: Animated] Code>
Je montrais la barre de recherche sur TextFieldDidbeginetiting: (Uitextfield *) Méthode de déléguée Textfield.
Le clavier n'était pas montrant. Donc, pour ce premier démissionne de Textfield en tant que facilite. IE P>
-(void)callSearchBar{ [self.searchDisplayController setActive: YES animated: YES]; self.searchDisplayController.searchBar.hidden = NO; [self.searchDisplayController.searchBar becomeFirstResponder];
Cela a finalement travaillé pour moi! Avoir un uppote. Toute idée de la raison pour laquelle vous devriez faire ce [auto.searchDisplayController.searchbar devicefirstreresponder]; Code> au lieu de
[Self.searchbar deventefirSprester]; Code>?
Cela fonctionne bien, mais je recommanderais simplement de faire [auto recelsearchbar] code> à l'intérieur du
ViewDidIDAppear: code> méthode. Nous ne savons pas de manière fiable combien de temps la transition du contrôleur peut prendre, de sorte que vous puissiez vous retrouver avec un effet laid et / ou des artefacts de TableView inattends si votre retard est trop court pour concentrer la barre de recherche code>. +1 Néanmoins :-)
@scotmrogowski Vous devez utiliser self.searchDisplayController.searchbar code> car vous avez probablement obtenu le
uisearchDisplayController code> connecté à votre
utablevoller code>, donc vous n'avez pas eu Une variable de la barre de recherche dans votre classe
UitailViewController ", mais vous pouvez obtenir cette référence via la variable code> UisearchDisplayController`.
La séquence matière si aucune chance, vérifiez si le délégué du contrôleur d'affichage de recherche est lié. Vaut également la peine de vérifier la couleur de la teinte de la barre de recherche. P> p>
sur le simulateur code> code>, assurez-vous de cliquer sur le clavier logiciel code> pour utiliser le clavier du simulateur comme vous pouvez le voir dans l'image. p>
p>
Même problème que je suis confronté, ma barre de recherche est en train de se concentrer. Sur le curseur de simulation clignotant, mais le clavier ne s'affiche pas. Avez-vous trouvé une solution