首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UITableView-调用didSelectRowAtIndexPath时的didSelectRowAtIndexPath问题

UITableView-调用didSelectRowAtIndexPath时的didSelectRowAtIndexPath问题
EN

Stack Overflow用户
提问于 2013-01-01 22:40:16
回答 1查看 151关注 0票数 0

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-01 23:20:48

表视图重用单元格(dequeueReusableCell...)。

因此,同一单元格(视图)可以用于表中的多个索引。

在你改变了一个单元格的布局(添加/删除/修改子视图)之后,这个单元格(视图)在每次出现在屏幕上时都会被修改--即使它每次代表不同的索引。

例如,在您的示例中,屏幕上可能同时显示最多6个单元格。

因此,您已经修改了一些单元格(一旦您修改了它,它就会显示为索引1),滚动完表格后,索引为1的单元格已经从屏幕上消失了,那么索引为7的单元格应该会出现(在滚动过程中)。该表将使用与显示索引为1的行相同的单元格(完全相同的UITableViewCell对象)。

但你已经删除了其中的图像...

在处理表格时,您必须始终牢记这一点。

在您的情况下,我建议您将图像视图的可见性设置为隐藏,并在每个tableView"cellForRowAtIndexPath:方法中(而不是在if (cell == nil)语句内-在它之后)恢复它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14111357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档