- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用SDWebImage新版本并调用:
self.imgIndicatorView.center=self.img.center;
self.imgIndicatorView.hidden=NO;
[ self.imgIndicatorView startAnimating];
__block UIActivityIndicatorView *indicatorView= self.imgIndicatorView;
NSLog(@"myTopics.img.small=%@",myTopics.img.small);
[self.img setImageWithURL:[NSURL URLWithString:@"http://ww1.sinaimg.cn/thumbnail/acc940bdj.jpg"]
placeholderImage:nil completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType){
NSLog(@"newImageNotCached:break.png myTopics.img.small" );
if(!error ){
CGRect sFrame=self.img.frame;
CGSize newSize=image.size;
if (newSize.height>80) {
if (newSize.width>newSize.height) {
newSize.height=newSize.height *80.0/image.size.width;
newSize.width=80;
}else{
newSize.height=80;
newSize.width=newSize.width*80.0/image.size.height;
}
}else{
if (newSize.width>80) {
newSize.height=newSize.height *80.0/image.size.width;
newSize.width=80;
}else{
}
}
sFrame.size=newSize;
self.img.frame=sFrame;
indicatorView.hidden=YES;
[indicatorView stopAnimating];
[indicatorView removeFromSuperview];
}else{
self.img.image=[UIImage newImageNotCached:@"break.png"];
indicatorView.hidden=YES;
[indicatorView stopAnimating];
[indicatorView removeFromSuperview];
}
}];
但有时日志 NSLog(@"newImageNotCached:break.png myTopics.img.small") 不会显示 url(@"http://ww1.sinaimg.cn/thumbnail/acc940bdj.jpg ") 是否中断。因此指标 View 始终存在。为什么该方法不调用已完成的 block ?
最佳答案
在。 UIImageView + WebCache.m 第 55 行。
if (url)
{
__weak UIImageView *wself = self;
id<SDWebImageOperation> operation = [SDWebImageManager.sharedManager downloadWithURL:url options:options progress:progressBlock completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished)
{
__strong UIImageView *sself = wself;
if (!sself) return;
if (image)
{
sself.image = image;
[sself setNeedsLayout];
}
if (completedBlock && finished) // NOTE: finished == YES, the completedBlock could be called.
{
completedBlock(image, error, cacheType);
}
}];
objc_setAssociatedObject(self, &operationKey, operation, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
在 SdwebImageManager.m 第 81 行
if (!url || !completedBlock || (!(options & SDWebImageRetryFailed) && [self.failedURLs containsObject:url])) // NOTE: failedURLs contain the url
{
// TIPS: ERROR OCCURED, DO NOTHING
if (completedBlock) {
// NOTE: finished flag was NO. Please set it as YES, And try again.
completedBlock(nil, nil, SDImageCacheTypeNone, NO);
}
return operation;
}
因此,您编写的completedBlock只会在第一次(发生错误时)被调用。
关于iphone - sdwebImage setImageWithURL : placeholderImage: completed:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16538850/
我正在使用iPhone应用程序。在这个应用程序中,我使用了许多图像,我需要将这些图像存储在高速缓存中。为此,我发现SDWebImage是正确的框架,但无法在我的iPhone项目中包括此框架。谁能建议我
我使用 SDWebImage 将图像下载到我的 UITableView 中: [cell.imageView setImageWithURL:[NSURL URLWithString:tempPhot
如何使用 UIImageView 在 SDWebImage 占位符中设置事件指示器 最佳答案 Swift 5 和 SDWebImage 5-beta //pod file pod 'SDWebImag
所以首先,我发现了这个: SDWebImage process images before caching 这有帮助,但我真的想使用SDWebImage,有没有办法在完成之前通过类外部的方法处理图像?
我在应用程序中使用SDWebImage从网络加载和缓存图像。它的工作原理就像是一种魅力,但是唯一的问题是,每当我退出应用程序时,即使是暂时退出,图像缓存也会被清除,所有图像都必须再次下载。 Inter
我正在使用 SDWebImage 将图像从服务器获取到我在 IOS 中的表格 View 应用程序。 但问题是,当我在表格 View 中向下滚动而不是等待图像加载时,将下载的图像放在表格 View 的前
我正在尝试使用 SDWebImage 来缓存从网络检索的图像。图像一直缓存到内存中。我已经看到默认保存到磁盘的文档。 Everything will be handled for you, from
我有一个带有背景图像的按钮,我使用 SDWebImage 下载该按钮。我想保持高度不变,并通过保持纵横比而不剪切图像来改变宽度。只是恒定的高度和动态宽度。这里出了什么问题? //CODE FROM F
我使用 SDWebImage pod 进行下载并显示来自 json 的图像,它运行良好,但我有一个大问题。 我正在使用collectionView,当加载单元格时,某些单元格显示错误的图像。我搜索了它
我一定是在做一些愚蠢的事情,但是 SDWebImage 永远不会执行以下的完成处理程序: episodeImageView?.sd_setImage(with: url, completed: { [
我正在使用 SDWebImage 库。当我使用 iPhone 时它工作正常,但当我使用模拟器编译时它不起作用。我收到此错误: Undefined symbols for architecture
我尝试了 100 多种使用 SDWebImage 制作图像动画的方法,但总是失败。我理解使用 block 好吗?我有 IBOutlet 属性图像名称 images1。我制作了数组来存储值并为 3 个图
我正在使用 SDWebImage 框架下载 iPhone 游戏中的个人资料图像。 [cell.playerImage setImageWithURL:url placeholderImage: Def
我在 UICollectionView 和 UITableView 中使用 SDWebImage。在这两种情况下,当行数很高时,内存使用率有时会非常高,我会收到内存警告。 以下是我的头像: 你看,有时
我正在使用 SDWebImage 库来缓存 UICollectionView 的图像,该图像是从 url 下载的,每次发送所有请求但只下载两个图像。有谁知道原因吗???提前致谢。 代码是: SDWeb
美好的一天! 从网络下载全尺寸图像时,我使用这两个库。 代码: -(void)viewDidAppear:(BOOL)animated { dispatch_async(dispatch_ge
是否可以使用SDWebImage下载AES加密图片?如果是这样,我在哪里可以访问下载的数据,手动解密它们? 最佳答案 不幸的是,无法使用 SDWebImage 下载加密图像。我只是看了他们的类图,没有
我正面临这个问题,下面是代码。它第一次显示错误,然后没有完成 block 调用。 [self.comicsImage setImageWithURL:[NSURL URLWithString:self
我检查了 NSBundle,但找不到 SDWebImage 保存图像的缓存。缓存是否启用(见下面的代码)?根据Docs它进行缓存管理。 如文档中所示: Just #import the UIImage
这个问题可能很奇怪,但它正在发生,而我却不明白。 我刚刚从 https://github.com/rs/SDWebImage 下载了代码并尝试运行示例项目。 它正在构建成功,但没有运行。为什么? 提前
我是一名优秀的程序员,十分优秀!