Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在UIImageView上加载并显示小尺寸图像后,如何加载大尺寸图像?_Iphone_Sdwebimage - Fatal编程技术网

Iphone 在UIImageView上加载并显示小尺寸图像后,如何加载大尺寸图像?

Iphone 在UIImageView上加载并显示小尺寸图像后,如何加载大尺寸图像?,iphone,sdwebimage,Iphone,Sdwebimage,我可以使用SDWebImage加载小尺寸的图像,并在UIImageView上显示url。但我不知道如何加载一个较大尺寸的图像,并在加载较小尺寸的图像后在同一UIImageView上显示另一个url [aImageView setImageWithURL:fristUrl placeholderImage:[UIImage imageNamed:@"placeholder.png"] success:^(UIImage *image) { [aImageView setImageWithU

我可以使用SDWebImage加载小尺寸的图像,并在UIImageView上显示url。但我不知道如何加载一个较大尺寸的图像,并在加载较小尺寸的图像后在同一UIImageView上显示另一个url

[aImageView setImageWithURL:fristUrl placeholderImage:[UIImage imageNamed:@"placeholder.png"] success:^(UIImage *image) {
    [aImageView setImageWithURL:secondUrl placeholderImage:image success:^(UIImage *image) {
        ;
    } failure:^(NSError *error) {
        NSLog(@"error105size:%@", [error description]);
    }];
} failure:^(NSError *error) {
    NSLog(@"error50size:%@", [error description]);
}];
我使用了上面的代码,但它崩溃了。
希望你能回答。

看看开发者。苹果的例子


请阅读了解更多详细信息

实际上,您不需要创建任何隐藏的
UIImageView
来完成此操作

您必须做的是设置第一个URL(带有较小的图像)以直接下载到您的
UIImageView
,然后使用
SDWebImageManager
在后台下载较大的版本。下载完成后,只需在图像视图中设置下载的图像

以下是如何做到这一点:

// First let the smaller image download naturally
[self.imageView setImageWithURL:self.imageURL];

// Slowly download the larger version of the image
SDWebImageManager *manager = [SDWebImageManager sharedManager];
[manager downloadWithURL:self.currentPhoto.largeImageURL options:SDWebImageLowPriority progress:nil completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished) {
    if (image) {
        [self.imageView setImage:image];
    }
}];
请注意我是如何使用
SDWebImageLowPriority
选项的。这样一来,图像(自然应该比第一个图像大)将以低优先级下载,并且不应取消第一次下载

UIButton *btn = [[UIButton alloc] init];
[btn sd_setImageWithURL:[NSURL URLWithString:obj.thumbnail_pic] forState:UIControlStateNormal placeholderImage:[UIImage imageNamed:@"photoDefault.png"] options:SDWebImageProgressiveDownload completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
    NSLog(@"img samll download ok:%@",obj.thumbnail_pic);
    if (image) {
         [btn sd_setImageWithURL: [NSURL URLWithString:[ctl getBigImg:obj.thumbnail_pic]] forState:UIControlStateNormal
                placeholderImage:image];
    }
}];