- 问题描述:cell 上创建 N个图片时,第一次刷新 正常,复用时,有些图片消失,或者多出许多图片
原因解决:因为复用,之前创建的imageView 被复用 添加的 另一个cell 持有的数据,所以,当复用cell 时,需要【清空控件】 该隐藏的隐藏,该nil的 nil
比如:
pragma mark - 模型赋值
-
(void)setTopStoriesModel:(RSTopStoriesModel *)topStoriesModel{
_topStoriesModel = topStoriesModel;
_dynamicTextLabel.text = topStoriesModel.publishText;[self layoutImageBGView:topStoriesModel];
if (topStoriesModel.publishImages.count < 10) {
for (int i = 0; i < 9; i++) { UIImageView * imageView = [self viewWithTag:300 + i]; imageView.image = nil; //清空操作 if (i < topStoriesModel.publishImages.count) { imageView.hidden = NO; //将之前cell 隐藏的 显示 imageView.image = [UIImage imageNamed:topStoriesModel.publishImages[i]]; }else{ imageView.hidden = YES; } }
}