2010-03-31 33 views
6

Ho un controller di vista, nella vista che ho messo una vista tabella, e una barra di ricerca nell'intestazione della tabella ... la barra di ricerca non viene visualizzata, solo la vista tabella vuota.UISearchBar Non visualizzato

Devo fare qualcosa in più? Sono abbastanza sicuro che la sua a che fare con la view uscita del UIViewController, impostato View ...

Grazie

risposta

-1

fissi utilizzando un UISearchBar con il controller.

8

Per chiunque altro stia atterrando su questa domanda, ho avuto una situazione molto simile in cui un UITableViewController con una UISearchBar aggiunta non veniva visualizzato. Se vi trovate in questa situazione, doppio controllo che si sono effettivamente chiamando:

initWithNibName:@"MyNibName" bundle:nil 

a init vostro controller della vista invece del comune Table View init di:

initWithStyle:UITableViewStylePlain 

ero stupidamente aggiungendo la ricerca barra al pennino e quindi caricarlo con lo stile init (che salta completamente il pennino e carica la vista tabella da zero)

+0

Questo ci ha aiutato, ero di passaggio zero a initWithnibName, che di solito funziona, ma per UITableViewControllers sembra di no. –

0

Se si imposta il controller di visualizzazione come parte del controller Tabbar, oltre alla proprietà "Classe" in IB ha impostato la proprietà "NIB name". Mi ci vogliono diverse ore per capirlo.

2

provare a impostare tableHeaderView della tabellaView per la barra di ricerca.

self.tableView.tableHeaderView = searchBar; 

se si utilizza IB, assicurarsi di collegare le prese in modo che venga utilizzato come riferimento.

2

Prova questa, l ha funzionato per me:

- (void)viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated]; 
    self.tableView.tableHeaderView = _searchBar; 
    [_searchBar becomeFirstResponder]; 
} 

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { 
    [_searchBar resignFirstResponder]; 
    self.tableView.tableHeaderView = _searchBar; 
} 

-(void) scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    searchBar.frame = CGRectMake(0,MAX(0,scrollView.contentOffset.y),320,44); 
}