Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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
Ios TableCell ImageView设置URL为SDWebImage的图像:仅调整第一行的大小_Ios_Uitableview_Uiimageview_Sdwebimage - Fatal编程技术网

Ios TableCell ImageView设置URL为SDWebImage的图像:仅调整第一行的大小

Ios TableCell ImageView设置URL为SDWebImage的图像:仅调整第一行的大小,ios,uitableview,uiimageview,sdwebimage,Ios,Uitableview,Uiimageview,Sdwebimage,在我的方法中,我有以下代码 它在第一个表行记录上工作得很好,但是剩余的单元格没有调整大小 但是,当我开始滚动时,它们会滚动。我似乎不明白为什么。还有什么我需要做的吗 [cell.imageView sd_setImageWithURL:url placeholderImage: [UIImage imageNamed:@"default.png"] completed:^(UIImage *image, NSE

在我的方法中,我有以下代码

它在第一个表行记录上工作得很好,但是剩余的单元格没有调整大小

但是,当我开始滚动时,它们会滚动。我似乎不明白为什么。还有什么我需要做的吗

[cell.imageView sd_setImageWithURL:url
                  placeholderImage: [UIImage imageNamed:@"default.png"]
                         completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {

                          if (image) {

                              NSLog(@"%@", account);

                              CGSize itemSize = CGSizeMake(32, 32);
                              UIGraphicsBeginImageContext(itemSize);
                              CGRect imageRect = CGRectMake(0.0, 0.0, itemSize.width, itemSize.height);
                              [image drawInRect:imageRect];
                              cell.imageView.image = UIGraphicsGetImageFromCurrentImageContext();
                              UIGraphicsEndImageContext();
                              cell.imageView.layer.cornerRadius = 16;
                              cell.imageView.clipsToBounds = YES;
                          }
    }];
我也有同样的问题。 SDWebImage的完整块不会在UI线程上运行,因此UI更新不会显示在屏幕上

在完成块中添加以下内容为我解决了这个问题:

dispatch_async(dispatch_get_main_queue(), ^{
  [cell setNeedsLayout];
});
例如,有必要向ui线程发送重新部署单元格的请求