Básicamente quiero cambiar la fuente y el color del encabezado de mi sección, así que implemento tableVieW:viewForHeaderInSection
. Primero probé este código:¿Por qué tableVieW: viewForHeaderInSection ignora la propiedad de marco de mi UILabel?
-(UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UILabel* headerLabel = [[[UILabel alloc] init] autorelease];
headerLabel.frame = CGRectMake(10, 0, 300, 40);
headerLabel.backgroundColor = [UIColor clearColor];
headerLabel.textColor = [UIColor blackColor];
headerLabel.font = [UIFont boldSystemFontOfSize:18];
headerLabel.text = @"My section header";
return headerLabel;
}
pero por alguna razón la propiedad trama se ignora (estoy hablando de la inserción 10px a la izquierda). Ahora uso lo siguiente:
-(UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UIView* headerView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 40)] autorelease];
UILabel* headerLabel = [[UILabel alloc] init];
headerLabel.frame = CGRectMake(10, 0, 300, 40);
headerLabel.backgroundColor = [UIColor clearColor];
headerLabel.textColor = [UIColor blackColor];
headerLabel.font = [UIFont boldSystemFontOfSize:18];
headerLabel.text = @"My section header";
[headerView addSubview:headerLabel];
[headerLabel release];
return headerView;
}
con los resultados deseados. ¿Puede alguien explicarme por qué el segundo enfoque funciona y el primero no?
PS. En ambos casos implemento tableView:heightForHeaderInSection
así, volviendo 40,0
Entonces realmente necesito el "headerView" en mi código para obtener este recuadro, ¿verdad? – phi
Sí, lo necesitas :) – Jilouc
Genial, gracias :) – phi