关于SDWebImage加载显示进度条的问题

最近做一个功能是需要在加载图片的时候显示百分比加载进度条,于是就碰上了SDWebImage的一个问题。

- (void)sd_setImageWithURL:(nullable NSURL *)url

placeholderImage:(nullable UIImage *)placeholder

options:(SDWebImageOptions)options

progress:(nullable SDWebImageDownloaderProgressBlock)progressBlock

completed:(nullable SDExternalCompletionBlock)completedBlock {


}

这是它的一个方法,progress是可以显示已下载的进度,关键就是将这里的进度与我们需要展示的进度条数据结合起来,一开始按照它的demo是达不到效果的(不知道算不算是个BUG),后来经过各种百度,终于找到了一个方法

#define dispatch_main_sync_safe(block)\

if ([NSThread isMainThread])\

{\

block();\

}\

else\

{\

dispatch_sync(dispatch_get_main_queue(), block);\

}

然后在progress的block里面,

dispatch_main_sync_safe(^{

// your code

});

然后就可以实现接收进度实时展示在你的进度条上了。

你可能感兴趣的:(关于SDWebImage加载显示进度条的问题)