在我的tableView
中,表格中总共存在五行,当我点击其中一行时,新的三行将显示在点按的一行下。
如果前五行是默认的UITableViewCell
,,,我希望这三个单元格也来自另一个自定义单元格;所以主要的五个单元格将不同于二级行(主单元格下面的三个)。
以下是我添加辅助行的方法:
tableView
委托didSelectRowAtIndexPath
:
NSInteger count = indexPath.row + 1;
NSMutableArray *newRows = [NSMutableArray array];//
self.expandedIndex = indexPath.row + 1;
self.tableExpanded = YES;
for(int i = 0; i < [self.numbers count]; i++)
{
NSIndexPath *path = [NSIndexPath indexPathForRow:count inSection:0];
[newRows addObject:path];
[self.myArray insertObject:[self.numbers objectAtIndex:i] atIndex:count];
count++;
}
[tableView insertRowsAtIndexPaths:newRows withRowAnimation:UITableViewRowAnimationTop];
添加的行但我希望它们来自我想要创建的自定义单元格,任何想法
答案 0 :(得分:0)
这就是我要做的。我会将newRows
设为属性,然后在didSelectRowAt...
结束时调用表刷新。然后在我的cellForRowAtIndexPath
检查中查看特定indexPath是否在newRows
中,如果它使用不同的单元格样式:
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell;
if ([self.newRows contains:indexPath]) {
// create custom cell
} else {
// create normal cell
}
return cell;
}
如果这没有意义,请告诉我,我可以详细说明。
另请注意,您将有一些有趣的边缘情况需要处理。例如,如果用户单击第3个单元格并将新单元格插入到第4-6行中,然后单击单元格2,在第3-5行中添加新单元格,则之前的4-6个单元格将在第7-9行。我不确定你是如何构建你的应用程序所以这可能不是一个问题(就像五个单元格中的一个可以一次添加子单元格)但只是意识到这是一种可能性。