UITableView - 通过点击现有单元格插入新行

时间:2014-07-31 12:29:50

标签: ios objective-c uitableview

我将UITableView与原型单元格一起使用,并希望最顶层的单元格成为“加法器”单元格:当用户点击该单元格时,正在执行segue。由于UITableView是动态生成的(顶部除外)并且单元格正在被重用,我有两个问题:

1 - 是否可以制作一个static单元格而其他所有单元格仍然是原型单元格?

2 - 如果没有,如何实施此解决方案?我认为,必须在

中实施
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

但我不知道,这种方法是否适合这样做。我是否正确,为了实现这个自定义单元格,我需要检查是否indexPath.row = 0并用自定义替换所需的单元格,同时以编程方式将所有单元格向下移动一行?

1 个答案:

答案 0 :(得分:1)

Yiu可以点击你的单元格,你可以创建两个不同的单元格,一个是你的原型单元格,一个是你的细节

中的

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    if (indexPath.row == 0) {
        AdderCell *cell = (AdderCell*)[tableView dequeueReusableCellWithIdentifier:@"AdderCell" forIndexPath:indexPath];
     } else {
       CustomCell *cell = (CustomCell*)[tableView dequeueReusableCellWithIdentifier:@"CustomCell" forIndexPath:indexPath];
     }
}

点击

中的Adder单元格
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    if (indexPath.row == 0) {
                // add data to your row array and reload the tableRow
             } else {
               // do your tap action
             }
     }