我有一个带有CustomCell的UITableView,在我的CustomCell中我添加了UIImage,UILabel...但是,当我选择了行1中的单元格并删除了它的UIImage:[[cell.contentView viewWithTag:TAG_FOR_TOPIMAG]removeFromSuperview];时,索引7处的单元格变成了相同的单元格1。
发布于 2013-01-01 23:20:48
表视图重用单元格(dequeueReusableCell...)。
因此,同一单元格(视图)可以用于表中的多个索引。
在你改变了一个单元格的布局(添加/删除/修改子视图)之后,这个单元格(视图)在每次出现在屏幕上时都会被修改--即使它每次代表不同的索引。
例如,在您的示例中,屏幕上可能同时显示最多6个单元格。
因此,您已经修改了一些单元格(一旦您修改了它,它就会显示为索引1),滚动完表格后,索引为1的单元格已经从屏幕上消失了,那么索引为7的单元格应该会出现(在滚动过程中)。该表将使用与显示索引为1的行相同的单元格(完全相同的UITableViewCell对象)。
但你已经删除了其中的图像...
在处理表格时,您必须始终牢记这一点。
在您的情况下,我建议您将图像视图的可见性设置为隐藏,并在每个tableView"cellForRowAtIndexPath:方法中(而不是在if (cell == nil)语句内-在它之后)恢复它。
https://stackoverflow.com/questions/14111357
复制相似问题