将带有自定义单元格的行插入表视图中

时间:2013-02-08 17:20:09

标签: objective-c uitableview

在我的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];

添加的行但我希望它们来自我想要创建的自定义单元格,任何想法

1 个答案:

答案 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行。我不确定你是如何构建你的应用程序所以这可能不是一个问题(就像五个单元格中的一个可以一次添加子单元格)但只是意识到这是一种可能性。