Objective c 在表视图中插入带有自定义单元格的行
在我的Objective c 在表视图中插入带有自定义单元格的行,objective-c,uitableview,Objective C,Uitableview,在我的表格视图中表格中始终存在五行,,,当我点击其中一行时,新的三行将显示在点击的一行下 如果前五行是默认的UITableViewCell,,,我希望这三个单元格也来自另一个自定义单元格;因此,主五个单元格将不同于次行(主单元格下三个) 以下是如何添加辅助行: 在tableViewdelegatedidSelectRowAtIndexPath: NSInteger count = indexPath.row + 1; NSMutableArray *newRows = [NSMutableArr
表格视图中
表格中始终存在五行,,,当我点击其中一行时,新的三行将显示在点击的一行下
如果前五行是默认的UITableViewCell
,,,我希望这三个单元格也来自另一个自定义单元格;因此,主五个单元格将不同于次行(主单元格下三个)
以下是如何添加辅助行:
在tableView
delegatedidSelectRowAtIndexPath
:
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];
NSInteger count=indexPath.row+1;
NSMutableArray*新行=[NSMutableArray]//
self.expandedIndex=indexPath.row+1;
self.tableExpanded=是;
对于(int i=0;i<[self.number count];i++)
{
nsindepath*path=[nsindepath indexPathForRow:count-instation:0];
[newRows addObject:path];
[self.myArray insertObject:[self.numbers objectAtIndex:i]atIndex:count];
计数++;
}
[tableView InsertRowsAndExpaths:newRows with RowAnimation:UITableViewRowAnimationTop];
添加的行,但我希望它们来自我要创建的自定义单元格,,,任何想法,这就是我要做的。我会将
newRows
作为一个属性,然后在didSelectRowAt…
的末尾调用table refresh。然后在mycellForRowAtIndexPath
中检查特定的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行。我不确定你是如何构建你的应用程序的,所以这可能不是一个问题(比如可能在五个单元格中的一个单元格上一次添加子单元格),但要意识到这是一种可能性