删除uitableview部分标题视图

时间:2011-05-26 14:23:25

标签: iphone objective-c uitableview

我有一个包含3个部分/ 3个海关部分标题视图的桌面视图...

删除本节中的某一行后,如果该部分为空,我将如何删除部分标题视图。

由于

3 个答案:

答案 0 :(得分:0)

删除行后可以执行的操作是调用方法-(void)reloadData。如果您已经这样做了,则需要更新数据源以指示该行已被删除,并且在- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView中您需要检查该行。如果有帮助,请告诉我!

答案 1 :(得分:0)

其中一种方法可能是维护标记是否该部分变为空,并为该部分的页眉和页脚返回零高度,然后在删除部分中的唯一行时执行reloadSections:withRowAnimation:

如果我们要从模型中删除该部分,那么当您具有特定于部分的自定义项时,这肯定会更难处理。如果没有这样的自定义,您可以继续维护一个数组数组。清空行数组后,您可以从sections数组中丢弃该部分。这将反映在reloadData

在任何一种情况下,您都需要影响模型以更改视图。

答案 2 :(得分:0)

我处理这个问题的一种方法是实现类似的部分标题:

-(NSString*) tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{

    return ([[allData objectForKey:[keys objectAtIndex:section]] count] > 0) ? [keys objectAtIndex:section]:@"";
}

这只是检查该部分的对象数组实际上是否有某些东西,如果它返回该部分的名称,如果不是它返回一个隐藏标题标题的空字符串。

表视图确实需要更新才能使更改生效,我也是一个充满数组的字典和一个充满字典键的数组。但类似的东西很容易实现。此方法允许插入到该部分而无需重新实例化数组。

希望它有所帮助。

相关问题