我在一个项目中需要复用cell,但是第一个cell和第二个cell显示的控件不一样,所以造成第二个cell复用前一个cell的时候,第一个cell上面的视图控件还会出现在第二个cell上面。如果你使劲刷新,你还会发现多个相同视图重叠!
解决方法:
复用cell时,移除上面的视图,代码如下:
for(UIView *view in [cell subviews]){
[view removeFromSuperview];
}
移除cell上指定的视图:
例如,我要移除SDCycleScrollView这个类的视图,代码如下:
for(UIView *view in [cell subviews]){
if ([view isKindOfClass:[SDCycleScrollView class]]) {
[view removeFromSuperview];
}
}
网友评论