Pregunta

He intentado anular la segunda tableHeaderView. Pero parece que la altura de la misma en el método heightForHeaderInSection parece ser 0. No puedo explicarlo, tengo que ponerlo en una Ivar porque en el viewForHeaderInSection puedo configurar la vista sin ningún problema.

 - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
if(section == 0)
    return @"Adding a new list";
else
    return @"Other lists";

}

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {

if(section == 0) {
    return tableView.tableHeaderView;
} else {
    UIView *view = [[[UIView alloc] initWithFrame:CGRectMake(10, 10, 100, 50)] autorelease];
    view.backgroundColor = [UIColor redColor];

    return view;
}

}

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
if(section == 0)
    return tableView.tableHeaderView.frame.size.height;
else
    return 30;
}
¿Fue útil?

Solución

Creo que está confundiendo la cabecera de la tabla y la cabecera de cada sección, son diferentes. No hay una "segunda tableHeaderView", un UITableView tiene un tableHeaderView y luego depende de los métodos viewForHeaderInSection y heightForHeaderInSection para colocar puntos de vista de cabecera personalizada para cada sección, de lo contrario sólo tiene que utilizar titleForHeaderInSection para colocar texto allí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top