您的位置:首页 > 移动开发 > IOS开发

iOS--当cell上显示不同数量图片的时候重用

2016-01-25 15:05 375 查看
原文链接:https://www.geek-share.com/detail/2664705500.html
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//标识符
static NSString *iden = @"cardsCell";
CardsCell *cell = [tableView dequeueReusableCellWithIdentifier:iden];
Cards *cards = [self.cardsArr objectAtIndex:indexPath.row];
//cell为空就创建
if (cell == nil) {
cell = [[CardsCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:iden];
}else {   //如果存在cell需要把之前添加的会变化的控件删除
//删除cell上添加的图片
[cell.photoGroup removeFromSuperview];
}

cell.cards = cards;;

return cell;
}

在自定义cell里

- (void)setCards:(Cards *)cards {
if (_cards != cards) {
_cards = cards;
}
//给cell控件赋值
[self.avaImageView sd_setImageWithURL:[NSURL URLWithString:_cards.avaImageUrl] placeholderImage:[UIImage imageNamed:@"72tx.png"]];
self.usernameLabel.text = _cards.username;
self.commentLabel.text = [NSString stringWithFormat:@"%ld",_cards.replyArr.count];
self.titleLabel.text = _cards.title;
self.timeLabel.text = _cards.time;
self.contextLabel.text = _cards.context;
//判断图片数组数量,大于0就根据数量创建,否则不创建
if (_cards.imageArr.count > 0) {
//图片浏览,用了一个图片浏览器SDPhotoGroup,继承UIView
self.photoGroup = [[SDPhotoGroup alloc] initWithFrame:CGRectMake1(0, 100, 105*_cards.imageArr.count, 60)];
NSMutableArray *temp = [NSMutableArray array];
[_cards.imageArr enumerateObjectsUsingBlock:^(NSString *src, NSUInteger idx, BOOL *stop) {
SDPhotoItem *item = [[SDPhotoItem alloc] init];
item.thumbnail_pic = src;
[temp addObject:item];
}];
self.photoGroup.photoItemArray = [temp copy];
[self.contentView addSubview:self.photoGroup];
}
}

 

转载于:https://www.cnblogs.com/zhangshan/p/5157494.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: