Tengo un UITableView donde, en algunos casos, ciertas secciones tienen cero filas. Mi objetivo es que cuando esto sea cierto, no quiero perder ningún espacio en la vista de tabla, debería parecer que no hay datos.UITableView No respetando heightForHeaderInSection/heightForFooterInSection?
El problema que tengo es con el encabezado y el pie de página para las secciones, que se muestran incluso si no hay una fila y, a pesar de que anulo el método de delegado para devolver 0.0f.
Esto es lo que parece: se puede ver ~ 20p de espacio gris en la parte superior, encabezados y pies de página de aproximadamente 10p cada uno para una sección con 0 filas.
alt text http://www.hanchorllc.com/table_cells.png
Aquí es mi seudo código:
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
if ([section hasRow]) {
return 10.0f;
} else {
return 0.0f;
}
}
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
if ([section hasRow]) {
return 10.0f;
} else {
return 0.0f;
}
}
He comprobado que estos métodos están siendo llamados y que la ruta correcta ejecución está teniendo lugar.
Una arruga: este controlador de vista usa un XIB y UITableView tiene los valores de encabezado y pie de página establecidos en 10.0 (valor predeterminado), aunque pensé que el método delegado lo reemplazó, si se implementó.
Esta es una aplicación dirigida a 3.0.
¿Qué estoy haciendo mal?
Sí, esto suena razonable. He adquirido el hábito de declarar constantes enum para los diseños de sección de la tabla y estaba tratando de forzar a este controlador en particular en ese diseño, que no funciona muy bien con un número desconocido de filas en las secciones. Es extraño que la documentación de Apple no indique en ningún lugar (que pueda encontrar) que no aceptará 0.0 como valor, especialmente porque * puede * establecer 0.0 en el XIB (y sí, se ve realmente raro). Puedo archivar un error de doco, ya que al menos debe tenerse en cuenta que el valor debe ser mayor que 0.0f. Saludos. – Hunter
De hecho, se ve raro. Tampoco lo he visto en ninguna de la documentación, por lo que probablemente valga la pena archivarlo como un error. – h4xxr
Esta es una buena idea, pero tuve problemas para implementarla. Tengo instrucciones de cambio para la sección en un montón de mis métodos de tabla de vista. Devolver un número variable de secciones según el contenido de los datos realmente arruina esta asignación y no puedo pensar en una forma elegante (o incluso fácil) de manejarlo. – blindjesse