Tengo un UITableView agrupado donde no se pueden mostrar todas las secciones a la vez, la tabla es impulsada por algunos datos que no todos los registros pueden tener. Mi problema es que los registros que no tienen ciertas secciones aparecen como espacios en blanco en la tabla (ver foto)UITableView agrupado muestra el espacio en blanco cuando la sección está vacía
alt text http://img220.imageshack.us/img220/5633/screenshot20100322at228.png
No hay pies de página/cabeceras. ¿Algo que me haya perdido?
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
// Return the number of rows in the section.
return [self getRowCount:section];
}
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
cell.textLabel.text = [NSString stringWithFormat:@"section: %d row: %d",indexPath.section,indexPath.row];
// Configure the cell...
return cell;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
float height = 0.0;
if([self getRowCount:indexPath.section] != 0){
height = kDefaultRowHeight;
}
return height;
}
Niza, gracias por el trabajo de investigación! –
El método menos intrusivo que he encontrado hasta ahora es devolver 1 para heightForHeaderInSection y heightForFooterInSection 'if ([self tableView: tableView numberOfRowsInSection: section] == 0)' y devolver una vista con tamaño cero para 'viewForHeaderInSection' /' viewForFooterInSection 'si el recuento de filas es 0. –
¡Gracias! ¡Gracias! Freaking Apple. Sería realmente bueno si documentaran cosas como el hecho de que devolver 0 para las alturas en el delegado no anula el espaciado estándar. Hay demasiados casos sutiles de API que Apple no documenta. – smparkes