今天发现一个问题,在iPhone X上使用如下代码,会拿取不到图像数据:
PHImageManager.default().requestImage(for: currentAsset, targetSize: PHImageManagerMaximumSize, contentMode: .default, options: nil, resultHandler: { [weak self] (image, _) in
self?.imageView.image = image
})
经测试发现改成这样就行了:
PHImageManager.default().requestImage(for: currentAsset, targetSize: CGSize.init(width: 100, height: 100), contentMode: .default, options: nil, resultHandler: { [weak self] (image, _) in
self?.imageView.image = image
})
问题出现的原因还不知道。
更新
研究发现应该这样使用:
let options = PHImageRequestOptions()
options.isNetworkAccessAllowed = true
PHImageManager.default().requestImageData(for: element, options: options, resultHandler: { (data, _, _, _) in
if let newData = data {
let image = UIImage.init(data: newData)
cell.imageView.image = image
} else {
cell.imageView.image = nil
}
})
网友评论