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.
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()
}
Dans Swift 3:
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
searchBar.resignFirstResponder()
}
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 .