Open lengain opened 1 year ago
Bug 表现 QMUIImagePickerViewController读取相册,点击状态栏,回到顶部或快速上下滑动,图片cell加载图片显示错误。
具体代码:
- (void)renderWithAsset:(QMUIAsset *)asset referenceSize:(CGSize)referenceSize { self.assetIdentifier = asset.identifier; // 异步请求资源对应的缩略图 [asset requestThumbnailImageWithSize:referenceSize completion:^(UIImage *result, NSDictionary *info) { if ([self.assetIdentifier isEqualToString:asset.identifier]) { self.contentImageView.image = result; } else { self.contentImageView.image = nil; } }]; //.......... }
截图 从最下面返回顶部后,图片cell开始逐个变为白色
开始调试,添加颜色后,代码变为:
- (void)renderWithAsset:(QMUIAsset *)asset referenceSize:(CGSize)referenceSize { self.assetIdentifier = asset.identifier; // 异步请求资源对应的缩略图 [asset requestThumbnailImageWithSize:referenceSize completion:^(UIImage *result, NSDictionary *info) { if ([self.assetIdentifier isEqualToString:asset.identifier]) { self.contentImageView.image = result; self.contentImageView.backgroundColor = UIColor.greenColor; } else { self.contentImageView.image = nil; self.contentImageView.backgroundColor = UIColor.redColor; } }]; //.......... }
截图
如何重现
预期的表现 正常情况下,图片正常显示
我的临时处理
@interface QMUIImagePickerCollectionViewCell () @property (nonatomic, assign) PHImageRequestID imageRequestID; @property(nonatomic, strong, readwrite) QMUIAsset *assert; @end @implementation QMUIImagePickerCollectionViewCell - (void)renderWithAsset:(QMUIAsset *)asset referenceSize:(CGSize)referenceSize { self.assetIdentifier = asset.identifier; self.assert = asset; [self requestImage:asset referenceSize:referenceSize]; //.......... } - (void)requestImage:(QMUIAsset *)asset referenceSize:(CGSize)referenceSize { if (self.imageRequestID > 0) { [[[QMUIAssetsManager sharedInstance] phCachingImageManager] cancelImageRequest:self.imageRequestID]; } // 异步请求资源对应的缩略图 self.imageRequestID = [asset requestThumbnailImageWithSize:referenceSize completion:^(UIImage *result, NSDictionary *info) { if ([self.assetIdentifier isEqualToString:asset.identifier]) { self.contentImageView.image = result; } else { self.contentImageView.image = nil; [self requestImage:self.assert referenceSize:referenceSize]; } }]; } @end
其他信息
Bug 表现 QMUIImagePickerViewController读取相册,点击状态栏,回到顶部或快速上下滑动,图片cell加载图片显示错误。
具体代码:
截图 从最下面返回顶部后,图片cell开始逐个变为白色
开始调试,添加颜色后,代码变为:
截图
如何重现
预期的表现 正常情况下,图片正常显示
我的临时处理
其他信息