1

与重新加载的单元格相比,我需要为插入的单元格设置不同的样式。

我正在插入我的单元格,如下所示:

[tempArray addObject:[NSIndexPath indexPathForRow:0 inSection:0]];
[[self tableView] beginUpdates];
[[self tableView] insertSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationTop];
[[self tableView] insertRowsAtIndexPaths:(NSArray *)tempArray withRowAnimation:UITableViewRowAnimationNone];
[[self tableView] endUpdates];

有没有办法让我做到以下几点:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    if (cell was inserted) {
      cell.mylabel.textColor = [UIColor redColor];
    } else {
      cell.mylabel.textColor = [UIColor blackColor];
    }

}
4

1 回答 1

2

与维护表格视图单元格状态的情况一样,正确的答案是将状态保留在模型中。换句话说,如果 tempArray 是您的模型,其中包含描述表内容的对象集合,请向这些对象添加一个 BOOL 属性,含义类似于userAdded.

然后你的“单元格被插入”伪代码可以变成:

MyModelClass *modelElement = [tempArray objectAtIndex:indexPath.row];

if (modelElement.userAdded) {
    cell.mylabel.textColor = [UIColor redColor];
} else {
  cell.mylabel.textColor = [UIColor blackColor];
}
于 2013-01-17T20:29:23.877 回答