我需要为已插入的单元格设置与重新加载的单元格不同的样式。
我按照以下方式插入我的单元格:
[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];
}
}
答案 0 :(得分:2)
通常情况下,维护表格视图单元格的状态,正确的答案是保持模型中的状态。换句话说,如果tempArray是包含描述表内容的对象集合的模型,则向这些对象添加BOOL属性,类似userAdded
。
然后您的“单元格被插入”伪代码可以变为:
MyModelClass *modelElement = [tempArray objectAtIndex:indexPath.row];
if (modelElement.userAdded) {
cell.mylabel.textColor = [UIColor redColor];
} else {
cell.mylabel.textColor = [UIColor blackColor];
}