У меня есть UITableView
с 4 разделами. Три из этих разделов имеют заголовок.
Представление заголовка - это UITableViewCell
, которое я де-очереди в качестве нормальной ячейки в делегате viewForHeaderInSection:
.
Если я вставляю или удаляю строку из любого раздела, исчезают другие ячейки заголовка tableview
.
Я предполагаю, что это имеет какое-то отношение к повторному использованию ячеек, однако сначала все ячейки отображаются на экране (одновременно отображаются все три заголовка на экране).
Я попытался перезагрузить другие разделы после вставки или удаления, но это не помогает.
Вот код:
- (UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
switch (section) {
case kSectionCardInformation:
case kSectionContactInformation:
case kSectionTags: {
static NSString *CellIdentifier = @"EditContactHeaderCell";
EditContactHeaderCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
return cell;
}
default:
return nil;
}
}
И вот где я удаляю строку в разделе revelant:
- (void)deleteTag:(CDTag *)tag {
[self.tableView beginUpdates];
NSMutableArray *objects = [self.sections objectAtIndex:kSectionTags];
if ([objects containsObject:tag]) {
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:[objects indexOfObject:tag] inSection:kSectionTags];
[objects removeObject:tag];
[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationMiddle];
[self.contact deleteTag:tag];
}
[self.tableView endUpdates];
}
Любая помощь, очень ценная.