在iOS开发中,我们经常会重用单元格cell。在获取cell之后,如果我们在cell之上添加其它控件的话,可能会导致下次重用此cell的时候会出现重复的内容,我们可以移除上次添加的子控件来防止重复。但是cell的子控件中还有一个UITableViewCellContentView类的子控件,此控件不能移除,并且这个控件打不出来。我们可以通过以下两种方法解决
1.把添加的控件放在cell上。
for (UIView *view in cell.subviews)
{
// 通过NSClassFromString获取类名
if (![view isKindOfClass:NSClassFromString(@"UITableViewCellContentView")])
{
[view removeFromSuperview];
}
}
2.我们可以把添加的子控件直接放在cell的contentview上,直接移除contentview的子控件。(此方法没有实践过)
for (UIView *view in cell.contentView.subviews)
{
[view removeFromSuperview];
}
本文介绍了在iOS开发中如何避免单元格(cell)重用时出现重复内容的问题。提供了两种解决方案:一是遍历并移除cell上的非UITableViewCellContentView类的子视图;二是将子控件直接添加到cell的contentView上并移除这些子控件。
468

被折叠的 条评论
为什么被折叠?



