¿Cómo personalizar el encabezado de sección de tablaView con un XIB?

Estoy intentando crear encabezados de sección personalizados para un UITableView. He encontrado algunas references que ilustran cómo hacerlo completamente en código (# 1349571 ).

Estoy intentando determinar si es posible crear una UIView en Interface Builder y usar eso para personalizar el encabezado de forma similar a cómo es posible hacer esto para un UITableViewCell.

SÍ Es posible usar la vista de encabezado creada usando XIB. Cree un XIB y la class para administrar el XIB (class UIView). Utilizar

YourNibClassName* v = [[[NSBundle mainBundle] loadNibNamed:@"YOUR_XIB_NAME" owner:self options:nil] firstObject]; //With this method you can load any xib for header view tableView.tableHeaderView = v; [v release]; 

EDITAR

Devuelve esta vista en viewForHeaderInSection como esta

 YourNibClassName* v = [[[NSBundle mainBundle] loadNibNamed:@"YOUR_XIB_NAME" owner:self options:nil] firstObject]; //Do some stuff here like setting text on labels etc. return [v autorelease]; 

Como tenemos celdas prototipo, también puede agregar una celda prototipo a su tabla. Complete el identificador de la celda prototipo en Interface Builder. (por ejemplo, HeaderCell) A continuación, puede usarlo en viewForHeaderForSection como si utilizara celdas en cellForRowAtIndexPath.

Ejemplo:

 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { UIView *headerView = [tableView dequeueReusableCellWithIdentifier:HeaderCellID]; UILabel *label = (UILabel *)[headerView viewWithTag:100]; label.text = [self tableView:self.tableView titleForHeaderInSection:section]; return headerView; } 

añádalo como tags encima de la tabla y quite el encabezado de la tabla trenzada. Lo hice una vez que sé que suena extraño pero funcionó