¿Por qué hay relleno adicional en la parte superior de mi UITableView con el estilo UITableViewStyleGrouped en iOS7?
A partir de iOS7, hay espacio adicional en la parte superior de mis UITableView
que tienen un estilo UITableViewStyleGrouped
.
Aquí hay un ejemplo:
La vista de tabla comienza en la primera flecha, hay 35 píxeles de relleno inexplicable, luego el encabezado verde es devuelto UIView
por viewForHeaderInSection
(donde la sección es 0).
¿Alguien puede explicar de dónde proviene esta cantidad de 35 píxeles y cómo puedo deshacerme de ella sin cambiar a UITableViewStylePlain
?
Actualización (respuesta):
En iOS 11 y posteriores:
tableView.contentInsetAdjustmentBehavior = .never
Me ayudó lo siguiente:
YouStoryboard.storyboard > YouViewController > Inspector de atributos > Desmarcar - Ajustar las inserciones de la vista de desplazamiento.
Jugué un poco más con él y parece que esto es un efecto secundario de configurar tableView tableHeaderView = nil
.
Debido a que mi tableView tiene una apariencia dinámica tableHeaderView
, cuando necesito ocultarlo tableHeaderView
, en lugar de hacerlo self.tableView.tableHeaderView = nil;
, hago:
self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.tableView.bounds.size.width, 0.01f)];
Me gusta más esta solución que establecer un algo arbitrario porque también contentInset.top
la uso dinámicamente. contentInset.top
Tener que recordar eliminar 35 píxeles adicionales cada vez que vuelvo a calcular contentInset.top
es tedioso.