• iOS根据网络图片的size大小设置UIImageView的大小


    在网上找到一个方法解决了这个问题,就是在SDWebImage 中有一个获取缓存的方法,先判断SDWebImage有没有缓存这个图片,有的话就获取,没有再使用
    NSData *data = [NSData dataWithContentsOfURL:url];
    image = [UIImage imageWithData:data];
    来获取

    代码如下,

     //显示单张图片时,固定宽度。

        __block CGFloat itemW = 200;

        

        __block CGFloat itemH = 0;

        

        if (_photoDataArray.count == 1) {

            UIImageView * imageView = [[UIImageView alloc] init];

            

            NSURL * url = [NSURL URLWithString:_photoDataArray.firstObject];

            

            [imageView sd_setImageWithURL:url placeholderImage:[UIImage imageNamed:@"placeHolder.jpg"]];

            

            SDWebImageManager *manager = [SDWebImageManager sharedManager];

            

            BOOL existBool = [manager diskImageExistsForURL:url];//判断是否有缓存

            

            UIImage * image;

            

            if (existBool) {

                

                image = [[manager imageCache] imageFromDiskCacheForKey:url.absoluteString];

                

            }else{

                

                NSData *data = [NSData dataWithContentsOfURL:url];

                

                image = [UIImage imageWithData:data];

                

            }

            

            //根据image的比例来设置高度

            

            if (image.size.width) {

                

                itemH = image.size.height / image.size.width * itemW;

                if (itemH >= itemW) {

                    

                    itemW = 120;

                    

                    itemH = image.size.height / image.size.width * itemW;

                    

                }

                

            }

  • 相关阅读:
    TIDB-存储
    MySQL的ACID
    MySQL MVCC
    MySQL 悲观锁、乐观锁、MVCC一
    MySQL写放大总结
    基于Linux上的wifi密码爆破
    Stack与Queue的实现(c++模板实现)
    vector 实现二维数组
    Linux下的静态链接与动态链接
    260. Single Number III
  • 原文地址:https://www.cnblogs.com/chzheng/p/7850059.html
Copyright © 2020-2023  润新知