我懒得通过setImageWithURL
将图片加载到UIImageView
中嵌入的UIScrollView
。
由于这是照片库,我正在尝试使用“成功”。代码块在完全加载后设置myScrollView
的contentSize和imageview的帧,以便它可以正确缩放。
问题是,我一直在使用'成功'在我的电话里如果我注释掉该方法的成功/失败部分,它可以工作,但我无法判断图像何时完成加载,因此无法正确调整容器的大小,以便正确缩放...帮助?
错误:
不兼容的块指针类型将
'void (^)(UIImage *__strong)'
发送到'SDWebImageSuccessBlock'
类型的参数(又名'void (^)(UIImage *__strong, BOOL)'
)
我在以下代码中收到的错误是以success:^
...
代码:
[_ivFullSize setImageWithURL:[NSURL URLWithString:[currentPhoto PhotoAbsoluteLocation]]
placeholderImage:[UIImage imageNamed:@"loading.png"]
success:^(UIImage *image){
[DejalBezelActivityView removeViewAnimated:YES];
self.myScrollView.contentSize = self.ivFullSize.image.size;
self.ivFullSize.frame = CGRectMake(0, 0, self.ivFullSize.image.size.width, self.ivFullSize.image.size.height);
}
failure:^(NSError *error){
[DejalBezelActivityView removeViewAnimated:YES];
}];
答案 0 :(得分:5)
在将SDWebImage版本升级到最新版本后,我最近遇到了同样的问题。我不知道为什么会发生这种情况,但我认为它是功能块中未记录的更改。基本上该函数返回一个额外的布尔参数。
因此,在不知道问题的原因的情况下,我通过简单地向块添加新的布尔参数来解决它。而不是写
...
success:^(UIImage *image)
{
... do something with image
}
failure:^(NSError *error)
...
我使用了以下内容:
...
success:^(UIImage *image, BOOL dummy)
{
... do something with image and ignore dummy
}
failure:^(NSError *error)
...
这可以消除引发的错误,但仍然会对附加布尔变量的性质提出疑问。任何其他文件或澄清将不胜感激。文档here仍然引用旧版本。