我有自定义单元格的UITableView
,在我的自定义单元格中,我添加了UIImage
,UILabel
...
但是,当我在第1行中选择单元格并在其上删除UIImage
时:[[cell.contentView viewWithTag:TAG_FOR_TOPIMAG]removeFromSuperview];
但是,索引7处的单元格与单元格1相同。
答案 0 :(得分:0)
表视图重用单元格(dequeueReusableCell ...) 因此,相同的单元格(视图)可用于表格中的多个索引 更改单元格的布局(添加/删除/修改子视图)后,每次在屏幕上显示时,此单元格(视图)都会显示为已修改 - 即使每次都表示不同的索引。
例如,在您的情况下,您可能在屏幕上同时显示最多6个单元格 因此,您修改了一些单元格(一旦您修改了它就显示为索引1),之后滚动表格,索引为1的单元格已从屏幕上消失,然后应显示索引为7的单元格(在滚动期间)。该表将使用用于显示索引1的行的相同单元格(完全相同的UITableViewCell对象) 但你已经删除了它的图像......
在使用表格时,您必须始终牢记这一点
在您的情况下,我建议您将图像视图的可见性设置为隐藏,并在每个tableView"cellForRowAtIndexPath:
方法中恢复它(不在if (cell == nil)
语句中 - 在它之后)。