[英]Preserve Cell Image After Scrolling UITableView
我有一个自定义的UITableViewCell作为检查清单。 当用户单击所选项目时,它会从红色变为绿色,表示已进行选择。但是,当用户向下滚动列表时,一旦他们回到顶部,图像就会变回其默认的红色值。
在tableview回收单元格时,如何保存图像的状态?
谢谢
听起来您正在使用UITableViewCell
来存储表数据的状态。 这是错误的方法,因为单元已被重用。 您应将状态保存在单独的“数据存储”中。 这可以只是保存在UITableViewController
子类中的内存中的数组,也可以是诸如SQLite或Core Data之类的持久性数组。 当表格视图要求您在tableView:cellForRowAtIndexPath:
中将状态转移到单元格时。
我有同样的问题。 采用:
MyTableViewCell* cell = [tableView dequeCellWithReuseIdentifier:@"MyTableViewCell"];
if (cell == nil) { /* create cell */ }
/* and now you reset the properties of that cell */
cell.text = [myCellText objectAtIndex:indexPath.row];
此处的关键是基于indexPath重置出队表格单元的属性 。 这确实意味着您将必须保持足够的状态才能重新创建任何表格单元- 包括您正在使用的图像 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.