繁体   English   中英

滚动UITableView后保留单元格图像

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM