如果从上面的部分删除行,则部分下方的标题会重复

时间:2009-11-04 13:43:51

标签: iphone uitableview header

在我的一个tableviews的编辑模式中,我从一个部分删除了一行。以下部分有一个标题。删除上面部分中的行会导致下面的部分标题重复。所以我有2个标题,一个在另一个之上。

我还尝试在删除后强制重新加载该部分无效:

[self.tableView beginUpdates];    
[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES];            
NSIndexSet * indexSet = [[NSIndexSet alloc] initWithIndexesInRange:NSMakeRange(3,1)];
[self.tableView reloadSections:indexSet withRowAnimation:UITableViewRowAnimationFade];
[indexSet release];
[self.tableView endUpdates];

我做错了什么想法?

有趣的是,未能删除的标题未被“看到”。如果我向右滚动表格视图的内容,然后让它快速回退,则只能看到顶部标题视图。它总是忽略应该删除的标题。

3 个答案:

答案 0 :(得分:1)

我尝试过不同的方式,(注释代码),但最后开始和结束更新技术的工作原理。谢谢Megasaur。

[self.tableView beginUpdates];  
[tableView reloadSections:[NSIndexSet indexSetWithIndex:section] withRowAnimation:UITableViewRowAnimationFade];
[tableView scrollRectToVisible:[tableView rectForSection:section] animated:YES];
//[tableView setNeedsDisplay];
//[self.view setNeedsDisplay];
[self.tableView endUpdates];

答案 1 :(得分:0)

虽然我没有使用多个部分,但我在单个部分遇到了类似的问题。如果不更改基础数据源(项的数量是键的数量),则表视图无法正确呈现。在更新显示之前,我会确保您的基础数据源已删除行。

答案 2 :(得分:0)

表部分崩溃/展开似乎无法正常工作。它会很棒。我采用了另一种方法来实现我的目标。我使用scrollview来包含所有其他视图和表。通过这种方式我有一些问题来捕获单元格选择,因为我为每个部分使用单独的视图控制器(现在是View)。