我有一个包含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]:@"";
}
这只是检查该部分的对象数组实际上是否有某些东西,如果它返回该部分的名称,如果不是它返回一个隐藏标题标题的空字符串。
表视图确实需要更新才能使更改生效,我也是一个充满数组的字典和一个充满字典键的数组。但类似的东西很容易实现。此方法允许插入到该部分而无需重新实例化数组。
希望它有所帮助。