iOS viewForHeaderInSection que cubre otras celdas

Estoy intentando implementar una vista de encabezado en mi aplicación y tengo el siguiente código para crear la vista de encabezado:

(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { UIView *view = [[[NSBundle mainBundle] loadNibNamed:@"FutureAppointmentsHeaderView" owner:self options:nil] lastObject]; return view; } 

También he establecido la altura de headerView de la siguiente manera:

 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { return 70; } 

Cuando se carga la página, la vista del encabezado está en la position correcta (vea la primera image). Sin embargo, cuando desploop el encabezado cubre las otras celdas (ver la segunda image).

introduzca la descripción de la imagen aquí

introduzca la descripción de la imagen aquí

No puedo hacer lo que estoy haciendo mal para get este comportamiento. Cualquier ayuda muy apreciada.

Solutions Collecting From Web of "iOS viewForHeaderInSection que cubre otras celdas"

Esto no suena como un comportamiento incorrecto. Así es como debería actuar el encabezado. Tome, por ejemplo, la aplicación Contactos en su iPhone; cuando se desplaza, el encabezado con la letra actual siempre se ajusta a la parte superior. Cuando continúa desplazándose, se reemplaza por el siguiente encabezado en línea.

Lo que debe hacer es agregar un color de background al encabezado en lugar de dejarlo transparente. Creo que todo se verá mejor y más fácil de entender una vez que lo hagas.

Parece que tu vista de encabezado es transparente. ¿Has intentado poner un color de background?

 UIView *view = [[[NSBundle mainBundle] loadNibNamed:@"FutureAppointmentsHeaderView" owner:self options:nil] lastObject]; view.backgroundColor = [UIColor whiteColor]; 

intenta cambiar tu tableViewType.

UITableViewStyleGroup puede permitir que su encabezado se desplace al desplazarse por la tablaView

Esta es la característica pnetworkingeterminada de tableview, y no es el error. Simplemente verifique el color de background de la vista de cabeza en xib. Parece tener un color claro, ponerlo a cualquier otro color y puedes encontrar la diferencia. El código parece estar bien.

Está agregando un encabezado para la sección con - tableView:viewForHeaderInSection: Los encabezados de sección permanecen en la parte superior de la vista de la tabla y cubrirán la (s) celda (s) que se encuentran debajo. Si agrega otra sección a su vista de tabla, habría dos vistas de encabezado idénticas para cada sección, ya que devolverá la vista sin verificar el índice de sección.

Si desea un encabezado flotante, use tableHeaderView . Puede asignar una vista a la propiedad de viewDidLoad en viewDidLoad o arrastrando una vista a la vista de tabla en el viewDidLoad de la interfaz. Vea las vistas del encabezado de la tabla en StoryBoards .