IOS cell自适应网络图片高度

1.创建一个装高度的数组并初始化

    @property(nonatomic,strong)NSMutableArray*imagesHeightArray;

2.在获取数据的时候,给数组添加赋值0
[self.imagesHeightArray addObject:@(0)];
3.在cell里面,取图片的时候,取每一张图片的尺寸,并使用block传值,把高度传给数组

定义block:

@property (nonatomic, copy) void(^ImgDetailTCblock)(ImgDetailTC*cell,CGFloat height);
@property (nonatomic, strong) NSIndexPath* indexPath;

传值:

 [self.imgimageView sd_setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@", goods.detail]]
                                completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
                                  // NSLog(@"宽:%f, 高:%f", image.size.width, image.size.height);
                                    CGFloat imgHeight=image.size.height * [UIScreen mainScreen].bounds.size.width / image.size.width;
                                    
                                    self.ImgDetailTCblock(wself, imgHeight);
                                }];

4.在viewController.m里

给数组传值

            cell.indexPath=indexPath;
            cell.goods = goods;
             __weak __typeof(&*self) wself = self;
            [cell setImgDetailTCblock:^(ImgDetailTC*cell,CGFloat height) {
                CGFloat oldHeight=[[self.imagesHeightArray objectAtIndex:cell.indexPath.row] doubleValue];
                if(oldHeight == height){
                    return ;
                }
                [wself.imagesHeightArray replaceObjectAtIndex:cell.indexPath.row withObject:@(height)];
                [wself.tableView reloadData];
            }];

每个cell的高度

        CGFloat height = [[self.imagesHeightArray objectAtIndex:indexPath.row] doubleValue];
        return height;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,163评论 1 32
  • iOS网络架构讨论梳理整理中。。。 其实如果没有APIManager这一层是没法使用delegate的,毕竟多个单...
    yhtang阅读 5,316评论 1 23
  • 陈成子弑简公。孔子沐浴而朝,告于哀公曰:“陈恒弑其君,请讨之。”公曰:“告夫三子。” 孔子曰:“以吾从大夫之后,不...
    知创快讯阅读 370评论 1 4
  • 今天这篇文章涉及到一对典型的心态矛盾——自信与自卑。当然,这两种矛盾的心态都有好处。不过,就像上一篇分析性格的文章...
    戴希远阅读 652评论 0 0
  • 2019/1/22周二 天气 晴 气温-3-9摄氏度 今天是孩子拿成绩的日子,真是几家欢喜几家愁!儿子这个期末考挂...
    不变的军魂阅读 106评论 0 0