美文网首页
网络加载图片

网络加载图片

作者: Minoz_min | 来源:发表于2016-05-29 10:58 被阅读63次

    我们有一个页面布局是这样的:最上面是一张大图UIImageView,中间是一些不定数量的UIButton小标签,然后是UITableView列表页,但是这个图片是可有可无的,为了适配页面,我就想先获取到图片,然后根据图片的大小来创建UIImageView,然后我就想怎么能先获取到网络图片呢,然后就找到了这个方法[UIImage imageWithData:[NSData dataWithContentsOfURL:url]];我成功得获取到了图片,然后根据图片来创建UIImageView,可是愚昧无知的我不知道这个方法是在主线程同步加载图片的,网络好的时候是没有问题的,但是在网络不好的情况下,会导致整个页面都特别卡动不了。解决方法如下:

    - (void)refreshHeaderView
    {
        NSURL *url = [NSURL URLWithString:[self.categories firstObject].largePicture];
        if (!IsNilOrNull(url.absoluteString)) {
            [self.imageViewHeader sd_setImageWithURL:url completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
                dispatch_async(dispatch_get_main_queue(), ^{
                    self.imageViewHeader.height = (image.size.height * WidthScreen) / image.size.width;
                    self.imageViewHeader.image = image;
                    [self haveImageView];
                });
            }];
        }else {
            [self haveImageView];
        }
    }
    

    相关文章

      网友评论

          本文标题:网络加载图片

          本文链接:https://www.haomeiwen.com/subject/dkkqdttx.html