6

Me pregunto cómo controlar la vista de tabla que usa el UISearchDisplayController. No puede sobrescribir la propiedad searchResultsTableView del UISearchDisplayController, porque es una propiedad de solo lectura.Cómo controlar la búsqueda Resultados de la vista de un UISearchDisplayController?

He intentado superponer el searchResultsTableView por un UITableView personalizado. Eso funciona solo una vez, pero tan pronto como intenta una segunda búsqueda, el verdadero searchResultsTableView está nuevamente en la parte superior. (Es decir, escribe un texto en el searchBar, su vista de tabla personalizada está en la parte superior y muestra los resultados de la búsqueda, luego presiona el botón Cancelar. Ahora, si repite esto, su tabla personalizada no se mostrará y el searchResultTableView del UISearchDisplayController estará en la parte superior).

Por supuesto, puedes probarlo sin un UISearchDisplayController, pero cuento con las ventajas de esta clase, solo quiero personalizar el tableView.

Respuesta

2

usted tiene una propiedad en la TableViewDataSourceUISearchDisplayController, esta fuente de datos produce el UITableViewCell. Implementar el protocolo UITableViewDataSource y usted tiene el control sobre la personalización de la tableView en el método:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

6

No se puede establecer la searchResultsTableView, pero se puede manipular en el método delegado apropiado:

-(void)searchDisplayController:(UISearchDisplayController *)controller didLoadSearchResultsTableView:(UITableView *)tableView { 
    tableView.backgroundColor = self.tableView.backgroundColor; 
    tableView.separatorColor = self.tableView.separatorColor; 
     ... 
+2

Gracias Felix, ya he intentado esto con éxito, pero eso no es lo que yo quiero hacer. Realmente me gustaría si puedo configurar mi propia subclase de UITableView. No quiero simplemente manipular las propiedades de searchResultsTableView. – burki

+1

@burki ¿Se las arregló para usar su subclase UITableView? Estoy teniendo el mismo problema. – Adriana

Cuestiones relacionadas