2011-09-15 18 views
5

Estoy utilizando una UITableView con UISearchBar en la parte superior de la vista de tabla, para mí todo está funcionando bien excepto un problema como si busco una letra los resultados de búsqueda en uitableview se filtra y está bien después de eso, si desplazo el resultado de la búsqueda hasta el final de mi tabla, luego, si presiono el botón cancelar de mi uisearchbar, la vista de tabla refresca todos los datos, pero no se muestra desde la primera celda, se muestra desde (25º celda aproximadamente) como la cantidad de desplazamiento el resultado de mi búsqueda es muy largo después de que se muestra después de hacer clic en cancelar. No sé cuál es el problema que estoy llamando también datos de recarga. Necesito mostrar TableView, ya que se carga al principio.¿Cómo actualizar mi UITableView con UISearchBar después de hacer clic en el botón Cancelar de UISearchBar?

Cualquier ayuda se agradece de antemano. Gracias.

Respuesta

12

En el método de Delegado - (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar que maneja el botón Cancelar se puede añadir un poco de código para desplazarse de nuevo a la parte superior de la vista de tabla al igual que

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar { 
    // ... Code to refresh the Table View 

    // Reload the Table View 
    [self.tableView reloadData]; 

    // Scroll to top 
    [self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:YES]; 
} 

Puede que tenga que jugar con la posición de desplazamiento. En lugar de UITableViewScrollPositionTop puede que tenga que utilizar UITableViewScrollPositionMiddle o UITableViewScrollPositionBottom o incluso UITableViewScrollPositionNone

+0

Muchas gracias Suhail Patel su respuesta fue realmente útil, mi problema fue resuelto. – George

1

llamar al siguiente método en su vista de tabla:

[self.tableView reloadData]; 

Luego se refresca la vista de tabla

Cuestiones relacionadas