¿cómo cambio la etiqueta "Sin resultados" cuando uso un searchDisplayController?searchDisplayController: cambie la etiqueta "Sin resultados"
Saludos
¿cómo cambio la etiqueta "Sin resultados" cuando uso un searchDisplayController?searchDisplayController: cambie la etiqueta "Sin resultados"
Saludos
No es directamente accesible, por lo que tendrá que hacerlo de la manera antigua y tamizar manualmente a través de los subvistas de su searchDisplayController.searchResultsTableView
. He aquí un ejemplo:
UITableView *tableView = self.searchDisplayController.searchResultsTableView;
for(UIView *subview in tableView.subviews) {
if([subview class] == [UILabel class]) {
UILabel *lbl = (UILabel*)subview; // sv changed to subview.
lbl.text = @"My custom string";
}
}
No recomendaría esto ya que usted está confiando en el comportamiento interno del searchResultsTableView
que es más que probable que va a cambiar en algún momento, la fractura de su aplicación. Abrir una solicitud de error/función con Apple sería una buena manera de hacerlo aquí.
He eliminado correctamente la etiqueta al no tener nunca un conjunto de resultados vacío.
Si no hay resultados porque se están obteniendo del servidor, restablezca su fuente de datos a una sola fila y haga que muestre una celda de vista de tabla en blanco.
Además, el uso de la lógica para refeuse para seleccionar la celda "de prueba":
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *listItem = [self.filteredListContent objectAtIndex:indexPath.row];
if ([listItem isEqualToString:@""]) {
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
}
También he encontrado que es necesario añadir "de prueba" lógica célula en el método willSelect
delegado:
- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *listItem = [self.filteredListContent objectAtIndex:indexPath.row];
if ([listItem isEqualToString:@""]) {
return nil;
}
return indexPath;
}
Genial, muchas gracias ... – Stefan
¿Pero cuándo haces el ajuste? Este 'UILabel' aparece en las 'subvistas' solo después de que se haya mostrado realmente ... –
Sí, ¿dónde ponemos este código? – Napolux