У меня есть 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];
}
Любая помощь, очень ценная.