lo necesario para crear su propia vista de encabezamiento:
implementar dentro de su fuente de datos tableview/Delegado
- (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] autorelease];
label.frame = CGRectMake(20, 6, 300, 30);
label.backgroundColor = [UIColor clearColor];
label.textColor = [UIColor colorWithHue:(136.0/360.0) // Slightly bluish green
saturation:1.0
brightness:0.60
alpha:1.0];
label.shadowColor = [UIColor whiteColor];
label.shadowOffset = CGSizeMake(0.0, 1.0);
label.font = [UIFont boldSystemFontOfSize:16];
label.text = sectionTitle;
// Create header view and add label as a subview
// you could also just return the label (instead of making a new view and adding the label as subview. With the view you have more flexibility to make a background color or different paddings
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, SectionHeaderHeight)];
[view autorelease];
[view addSubview:label];
return view;
}
Puede devolver la etiqueta, no hay beneficio en agregarla como una subvista a una vista que de otro modo estaría vacía. – jrturton
Sí, claro ... pero tal vez le gustaría cambiar el posicionamiento de su etiqueta o algo así ... –
¡¡¡muchas gracias !!!. Cuando la etiqueta se devuelve directamente, la etiqueta NO se coloca en la posición X. 6. De acuerdo con mi comprensión, se devuelve siempre la vista, es 'frame.origin.x' y' frame.origin.y' se ignora. Entonces, cuando la etiqueta se agrega como una subvista a la vista y se devuelve la vista, entonces la etiqueta 'frame.origin.x' y' frame.origin.y' se conserva porque es relativa a su súper vista. – user1046037