0

我有一个UITableViewCustomCell,在我的CustomCell中我添加了UIImageUILabel......但是,当我在第1行中选择单元格并删除UIImage它时:[[cell.contentView viewWithTag:TAG_FOR_TOPIMAG]removeFromSuperview];但是,索引7处的单元格被更改为相同的单元格1。

4

1 回答 1

0

表视图重用单元格 (dequeueReusableCell...)。
因此,同一个单元格(视图)可以用于表中的多个索引。
在您更改单元格的布局(添加/删除/修改子视图)后,该单元格(视图)每次出现在屏幕上时都会出现修改 - 即使它每次代表不同的索引。

例如,在您的情况下,您可能在屏幕上同时显示最多 6 个单元格。
因此,您已经修改了一些单元格(一旦您修改它就显示为索引 1),之后您滚动表格,索引为 1 的单元格从屏幕上消失了,然后应该显示索引为 7 的单元格(在滚动期间)。该表将使用用于显示索引为 1 的行的相同单元格(完全相同的 UITableViewCell 对象)。
但是您已从中删除了图像...

当您使用表格时,您必须始终牢记这一点。
在您的情况下,我建议您将图像视图的可见性设置为隐藏并在每种tableView"cellForRowAtIndexPath:方法中恢复它(不在if (cell == nil)语句内 - 在它之后)。

于 2013-01-01T15:20:48.137 回答