web-dev-qa-db-fra.com

Bouton de recherche du clavier de la barre de recherche UIS Action

J'utilise UISearchBar lorsque j'entre du texte sur UISearchBar le clavier s'affiche. À ce moment, la touche de retour du clavier est "Rechercher". Je veux implémenter l'événement lorsque j'appuie sur le bouton de recherche du clavier. Comment mettre en œuvre l'action? Sur UITextField il a

-(BOOL)textFieldShouldReturn:(UITextField *)textField;

Mais sur UISearchBar il n'a pas d'action de retour.

Merci pour votre aide.

36
Chenggong Jin

Ajouter UISearchBarDelegate dans .h

Définissez également le délégué d'objet de SearchBar sur self.

Ajoutez ceci à la méthode de UISearchBarDelegate:

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
    [searchBar resignFirstResponder];
    // Do the search...
}

rapide

func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
    searchBar.resignFirstResponder()
}
101
Milo

Dans Swift 3:

 func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
        searchBar.resignFirstResponder()
 }
17
Kaptain

La méthode textFieldShouldReturn est une méthode déléguée textField et non celle que vous recherchez. Vous avez besoin d'une méthode UISearchBarDelegate appelée searchButtonClicked, regardez ici .

4
Adis