Editar secciones de celdas de tableView estáticas

Tengo un tableView estático con algunas celdas personalizadas. Lo que quiero hacer es cambiar los títulos de las secciones mediante progtwigción. Por lo que sé, debido a que las celdas son estáticas, no puedo usar methods como cellForRowAtIndexPath y así sucesivamente, así que mi pregunta es, ¿es posible cambiarlas como?

self.tableView.section1.text = @"title1"; // something like this? 

He intentado crear un IBOutlet de la sección pero obtengo el siguiente error:

 Unknown type name 'UITableViewSection': did you mean 'UITableViewStyle?' 

Lo que puedo hacer es editar el contenido de las celdas, pero no el encabezado.

¡Gracias!

Use el método viewForHeaderInSection .

 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { UILabel *label1 = [[UILabel alloc] init]; label1.frame = CGRectMake(0, 0, 190, 20); label1.textColor = [UIColor blackColor]; // label1.font = [UIFont fontWithName:@"Helvetica Bold" size:16]; [label1 setFont:[UIFont fontWithName:@"Arial-BoldMT" size:14]]; label1.textAlignment = UITextAlignmentCenter; label1.text =[NSString stringWithFormat:@"Title %d",section]; // If your title are inside an Array then Use Below Code label1.text =[titleArray objectAtindex:section]; label1.textColor = [UIColor whiteColor]; label1.backgroundColor = [UIColor clearColor]; UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 30)]; [view addSubview:label1]; view.backgroundColor = [UIColor orangeColor]; return view; } 

Si desea utilizar titleForHeaderInSection , utilice el código siguiente.

 - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { return [NSString stringWithFormat:@"Title %d",section]; // If your title are inside an Array then Use Below Code return [titleArray objectAtindex:section]; } 

Puede usar el método de tableview:titleForHeaderInSection:

 - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { NSString *sectionTitle = @""; switch (section) { case 0: sectionTitle = @"Section 1"; break; case 1: sectionTitle = @"Section 2"; break; case 2: sectionTitle = @"Section 3"; break; default: break; } return sectionTitle; } 

Asegúrese de declarar su <UITableViewDelegate > en su file .h:

 @interface SettingsViewController : UITableViewController <UITableViewDelegate> { } 

Si necesita cambiar los encabezados cuando la vista se muestra 'live', puede hacerlo así:

 int sectionNumber = 0; [self.tableView headerViewForSection:sectionNumber].textLabel.text = @"Foo Bar"; 

Pero hacerlo no parece cambiar el tamaño del marco de la label. Acabo de hacer el mío más grande por adelantado. Más detalles aquí.