Ich habe eine gruppierte UITableView, wo nicht alle Abschnitte auf einmal angezeigt werden können, wird die Tabelle von einigen Daten, die nicht jeder Datensatz haben kann angetrieben. Mein Problem ist, dass die Aufzeichnungen, die bestimmte nicht über Abschnitte als Leerzeichen in der Tabelle angezeigt (siehe Bild)Gruppiert UITableView zeigt Leerzeichen, wenn Abschnitt leer ist
alt text http://img220.imageshack.us/img220/5633/screenshot20100322at228.png
Es sind keine Fußzeilen/Header. Alles, was ich verpasst habe?
- (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;
}
Nizza, danke für die Ermittlungsarbeit! –
Die schonendste Methode, die ich bisher gefunden habe, ist 1 für heightForHeaderInSection und heightForFooterInSection zurückzukehren 'if ([self Tableview: Tableview numberOfRowsInSection: Abschnitt] == 0)' und gibt eine Ansicht mit Größe Null für 'viewForHeaderInSection' /' viewForFooterInSection 'Wenn die Zeilenanzahl 0 ist. –
Danke! Vielen Dank! Verrückter Apfel. Es wäre wirklich nett, wenn sie Dinge wie die Tatsache dokumentieren würden, dass die Rückgabe von 0 für Höhen im Delegaten den Standardabstand nicht überschreibt. Es gibt viel zu viele subtile API-Randfälle, die Apple nicht dokumentiert. – smparkes