Ben*_*ard 6 iphone cocoa-touch uitableview ios
我有一个表视图,其中单元格的构建方式不同,具体取决于表是否正在编辑.具体来说,选择样式在编辑模式时为无,在不在编辑模式时为蓝色.
当我从一个转换到另一个时,我注意到一些单元格没有更新.快速的日志记录告诉我,即使单元格的外观变化很大(例如正确地添加/删除了附件视图),表格视图也不会刷新选择样式(也不是文本).
这里发生了什么?调用setEditing时是否只更新了单元格的某些属性?大概只有那些具有允许分配单独视图样式的特定方法的人(例如EditingAccessoryType)?我想我会受益于EditingSelectionStyle.
我该如何解决?通过自定义setEditing来更改每个单元格的selectionStyle?我甚至不确定如何迭代表视图来执行此操作.reloadData不是一个选项,因为我正在使用一些动画.
我发现自定义setEditing:遍历可见单元格并为每个单元设置selectionStyle以使其正常工作.
- (void)setEditing:(BOOL)editing animated:(BOOL)animated{
[super setEditing:editing animated:animated];
for (UITableViewCell *cell in [self.tableView visibleCells]) {
NSIndexPath *path = [self.tableView indexPathForCell:cell];
cell.selectionStyle = (self.editing && (path.row > 1 || path.section == 0)) ? UITableViewCellSelectionStyleNone : UITableViewCellSelectionStyleBlue;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7510 次 |
| 最近记录: |