2013-02-15 2 views
8

Ho implementato la barra di ricerca che mostra il pulsante Annulla una volta che l'utente ha messo a fuoco nella barra di ricerca. Per questo ho scritto searchBar.showsCancelButton = YES; nel mio metodo searchBarTextDidBeginEditing. In searchBarSearchButtonClicked, mi ritiro la tastiera in modo che l'utente possa visualizzare la tabella completa.UISearchBar pulsante Annulla non risponde

Problema: a questo punto il pulsante Annulla barra di ricerca non risponde. Risponde solo una volta che la barra di ricerca ottiene di nuovo il focus. È questa la proprietà predefinita delle barre di ricerca pulsante Annulla o mi manca qualcosa nel mio codice. Voglio usare il pulsante Annulla senza dare di nuovo il focus nella barra di ricerca.

+1

come si fa a dimettersi firstResponder sul campo di testo di serachbar? –

+0

hai controllato la mia risposta? – Rajneesh071

+0

È vero ... per progettazione o no, dovrebbe funzionare se è presente. – Morkrom

risposta

4

Questo è il comportamento predefinito del pulsante Annulla della barra di ricerca. Se si desidera un'altra funzionalità, è possibile deselezionare la proprietà cancelbutton per la barra di ricerca e utilizzare UIButton come pulsante Annulla.

+1

Grazie !! Proverò a implementare il mio pulsante Annulla – JiteshW

3

Penso che sia un comportamento predefinito di UISearchBar quando diventa attivo, quindi solo il pulsante Annulla sarà abilitato. Non è possibile ottenere l'evento del pulsante Annulla di UISearchBar quando non è attivo.

Quindi il mio suggession per raggiungere il tuo compito è,

  • Creare una barra degli strumenti
  • Inserire UIBarButtonItem con vista personalizzata come UISearchBar
  • Inserire UIBarButtonItem chiamato "Annulla" con l'azione
4

Sì, è possibile rendere il tuo pulsante Annulla UISearchBar risposta. Per impostazione predefinita è disabilitato ma è possibile accedere alla sottoview e quindi impostare enable per annullare il pulsante.

for (id object in [mySearchBar subviews]) 
{ 
    if ([object isKindOfClass:[UIButton class]]) 
    { 
     UIButton *searchBarCancelBtn = (UIButton*)object; 
     [searchBarCancelBtn setEnabled:YES]; 
    } 
} 

Seguire questa risposta se volete qualche altra logica Custom clear button in UISearchBar text field