iOS--当cell上显示不同数量图片的时候重用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS--当cell上显示不同数量图片的时候重用相关的知识,希望对你有一定的参考价值。
- (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]; } }
以上是关于iOS--当cell上显示不同数量图片的时候重用的主要内容,如果未能解决你的问题,请参考以下文章