uitableviewcontroller custom ios uitableview sectionheader

custom - ios: uitableview section header anchor to top of table



table view header swift 3 (1)

Esto debería funcionar automáticamente si utiliza el Estilo de vista de tabla "Normal" y no "Agrupado".

De la documentación:

UITableViewStylePlain: una vista de tabla simple. Todos los encabezados o pies de página se muestran como separadores en línea y flotan cuando se desplaza la vista de tabla.

UITableViewStyleGrouped: una vista de tabla cuyas secciones presentan distintos grupos de filas. Los encabezados y pies de sección no flotan.

Estoy intentando hacer una tabla con varias secciones (como la aplicación de contacto). Todo salió bien y he creado un encabezado de sección personalizado en la parte superior de cada sección que muestra el carácter que representa esta sección. exactamente donde el encabezado permanece en la parte superior hasta que el siguiente encabezado se contraiga con él ... ¿cómo puede suceder esto?

Estoy usando el siguiente código (para que te sea más fácil descubrirlo

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { // Return the number of sections. return [stateIndex count]; } - (UIView *)tableView:(UITableView *)aTableView viewForHeaderInSection:(NSInteger)section { UILabel *sectionHeader = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 40)]; sectionHeader.backgroundColor = [UIColor clearColor]; sectionHeader.font = [UIFont boldSystemFontOfSize:18]; sectionHeader.textColor = [UIColor whiteColor]; sectionHeader.text = [stateIndex objectAtIndex:section]; sectionHeader.textAlignment=UITextAlignmentCenter; return sectionHeader; } //---set the index for the table--- - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView { return stateIndex; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { //---get the letter in each section; e.g., A, B, C, etc.--- NSString *alphabet = [stateIndex objectAtIndex:section]; //---get all states beginning with the letter--- NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF beginswith[c] %@", alphabet]; NSArray *states = [resultPoets filteredArrayUsingPredicate:predicate]; //---return the number of states beginning with the letter--- return [states count]; } - (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; PoemsCell *cell = [aTableView dequeueReusableCellWithIdentifier:CellIdentifier]; int row = indexPath.row; //---get the letter in the current section--- NSString *alphabet = [stateIndex objectAtIndex:[indexPath section]]; //---get all states beginning with the letter--- NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF beginswith[c] %@", alphabet]; NSArray *states = [resultPoets filteredArrayUsingPredicate:predicate]; if ([states count]>0) { //---extract the relevant state from the states object--- NSString *cellValue = [states objectAtIndex:row]; cell.poemText.text = cellValue; } return cell; }