2012-03-28 9 views
21

premere Cerca cerco di avere la notifica quando il pulsante Search si fa clic nella tastiera nella UISearchBar con questo:UISeachBar rilevare quando l'utente pulsante

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

     return YES; 
    } 

Ma questo metodo non chiamerà quando si preme il pulsante di ricerca .

risposta

51

Hai provato questo delegato

Objective-C:

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar 

Swift:

func searchBarSearchButtonClicked(searchBar: UISearchBar) 

vedere la documentazione per eventuali delegati SearchBar. https://developer.apple.com/documentation/uikit/uisearchbardelegate

+0

Posso ottenere in questo metodo il testo che si trova nella TextView nel UISearchBar? – MTA

+1

È necessario implementare questo metodo per iniziare la ricerca. Usa la proprietà 'testo' della barra di ricerca (UISearchBar) per ottenere il testo. È inoltre possibile inviare becomeFirstResponder alla barra di ricerca per iniziare a modificare a livello di programmazione. –

+0

Yup .. come @hpiOSCoder ha detto di ottenere il testo dalla barra di ricerca. searchBar.text ti fornirà il valore. – iPrabu

2

Se si vuole fare qualcosa su 'Ricerca' pulsante di ottenere cliccato, allora, provare questo metodo

  • (void) searchBarSearchButtonClicked: (UISearchBar *) Searchbar

Indica al delegare che il pulsante di ricerca sia stato premuto.

1

È necessario impostare prima il delegato della ricerca. Nel viewDidLoad()

self.searchBar.delegate = self 

poi func searchBarSearchButtonClicked(searchBar: UISearchBar)

Problemi correlati