在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];
}