5
Estoy un poco atascado tratando de crear un encabezado de tabla ios personalizado. Los encabezados son 30px de alto y estoy utilizando este código para crearlos:encabezado personalizado se superpone a las celdas en el grupo
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
NSString *sectionTitle = [self tableView:tableView titleForHeaderInSection:section];
if (sectionTitle == nil) {
return nil;
}
// Create label with section title
UILabel *label = [[UILabel alloc] init] ;
label.frame = CGRectMake(0, 0, 140, 30);
label.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"header_gradient.png"]];
label.textColor = [UIColor whiteColor];
label.shadowColor = [UIColor whiteColor];
label.shadowOffset = CGSizeMake(0.0, 1.0);
label.font = [UIFont boldSystemFontOfSize:12];
label.text = sectionTitle;
// Create header view and add label as a subview
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 140, 30)];
[view addSubview:label];
return view;
}
- (CGFloat)tableView:(UITableView *)tableViewheightForHeaderInSection:(NSInteger)section {
return 30;
}
Casi funciona, pero mis cabeceras parecen colisionará con las células/encabezados por debajo de ellos:
Puede ¿Alguien me señala la dirección correcta para limpiar los encabezados aquí?
Gracias de antemano
Debe ser realmente '- (CGFloat) tableView: (UITableView *) tableView heightForHeaderInSection: (NSInteger) sección' – omz
Correcto. La declaración correcta es la siguiente (desde los documentos): - (CGFloat) tableView: (UITableView *) tableView heightForHeaderInSection: (NSInteger) sección - si está prestando mucha atención, falta un [espacio] entre tableView y heightForHeaderInSection. . Lo extrañé por completo la primera vez, de ahí por qué asumí que el estuche de camello estaba apagado. He actualizado la respuesta. Gracias por la captura! –
gracias por la ayuda ... ¡Me estaba volviendo loca intentando descubrir por qué eso no funcionaba! – akhalsa