2010-03-31 19 views
6

Tengo control de vista, en la vista he puesto una vista de tabla, y una barra de búsqueda en el encabezado de la tabla ... la barra de búsqueda no aparece, solo la vista de tabla vacía.UISearchBar No aparece

¿Debo hacer algo más? Estoy bastante seguro de su que ver con la salida de la view UIViewController, ajustado a View ...

Gracias

Respuesta

-1

fijos utilizando un UISearchBar con el controlador.

8

Para cualquier otra persona que pueda estar llegando a esta pregunta, tuve una situación muy similar en la que no se mostraba un UITableViewController con una UISearchBar añadida. Si usted se encuentra en esta situación, vuelve a comprobar que en realidad está llamando:

initWithNibName:@"MyNibName" bundle:nil 

a init su controlador de vista en lugar de la Tabla init común de:

initWithStyle:UITableViewStylePlain 

estaba añadiendo tontamente la búsqueda bar al Nib, y luego cargarlo con el estilo init (que omite el Nib por completo y carga la vista de tabla desde cero)

+0

Esto ayudó, yo estaba pasando cero a initWithNibName, que por lo general funciona pero para UITableViewControllers parece que no. –

0

Si configura su controlador de vista como parte del controlador tabbar, además de la propiedad "Class" en IB establece la propiedad "NIB name". Me lleva varias horas resolverlo.

2

intente establecer la tabla HeaderView de su tableView en su searchBar.

self.tableView.tableHeaderView = searchBar; 

Si está utilizando IB, asegúrese de conectar las salidas para que se haga referencia a él.

2

probar esto, l que trabajó para mí:

- (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); 
}