gpt4 book ai didi

iphone - 进入/退出编辑模式时重绘 UITableViewCell

转载 作者:可可西里 更新时间:2023-11-01 03:47:54 26 4
gpt4 key购买 nike

我有一个 TableView ,其中根据表是否正在编辑而构建不同的单元格。具体来说,选择样式在编辑模式下为无,在非编辑模式下为蓝色。

当我从一个转换到另一个时,我注意到一些单元格没有更新。快速的日志记录告诉我,即使单元格的外观发生了很大变化(例如,正确添加/删除了附件 View ), TableView 也不会刷新选择样式(也不会刷新文本)。

这是怎么回事?调用 setEditing 时是否仅更新单元格的某些属性?大概只有那些具有允许分配单独 View 样式(例如 EditingAccessoryType)的特定方法的那些?我想我会受益于 EditingSelectionStyle。

我该如何解决?通过自定义 setEditing 来更改每个单元格的 selectionStyle?我什至不确定如何遍历 TableView 来执行此操作。由于我正在使用的一些动画,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;
}
}

关于iphone - 进入/退出编辑模式时重绘 UITableViewCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10393026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com