我有一点问题:
我制作了我的setEditing方法:
- (void)setEditing:(BOOL)editing animated:(BOOL)animate {
[super setEditing:editing animated:animate];
[mainTableView reloadData];
}
我正在使用reloadData来调用:cellForRowAtIndexPath,然后,如果表处于编辑模式,我将更改我的单元格的外观(例如,隐藏一些标签);
问题是当我调用[mainTableView reloadData]时,编辑动画(红色圆圈从左向右滑动,我的单元格向右滑动)不存在。如果不调用它,一切正常,但我不能自定义我的单元格,因为不再调用cellForRowAtIndexPath。
有任何建议让它发挥作用吗?
谢谢!
答案 0 :(得分:1)
也许您会尝试使用 [tableView beginUpdates] 和 [tableView endUpdates] 更新您的表格?你需要重新加载所有单元格还是只加载其中的一些单元格?
编辑:以下是重新加载所有单元格的代码:
[tableView beginUpdates];
NSMutableArray *updatedPaths = [NSMutableArray array];
for (NSNumber *row in yourArray) {
NSIndexPath *updatedPath = [NSIndexPath indexPathForRow:[row intValue] inSection:0];
[updatedPaths addObject:updatedPath];
}
[tableView reloadRowsAtIndexPaths:updatedPaths withRowAnimation:UITableViewRowAnimationFade];
[tableView endUpdates];
yourArray
是NSArray实例,您可以在其中存储您的cell.textLabel值或类似的内容......