亚博app 网络负载图片

日期:2021-01-18 17:21:38 浏览量: 151

我们有这样的页面布局:顶部是一张大图片UIImageView,中间是一些小UIButton标签,然后是UITableView列表页面,但是此图片是可选的,为了适合页面,我想首先获取图片加载网络图片,然后根据图片的大小创建一个UIImageView加载网络图片,然后我要首先获取网络图片,然后找到此方法[UIImage imageWithData:[NSData dataWithContentsOfURL:url]];成功获取图片亚博体彩app ,然后基于该图片创建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];
    }
}