[英]Photos Framework. requestImageForAsset returning two results. Can't set image view
[英]Photos framework. requestImageForAsset can't return right imagesize
我正在使用requestImageForAsset:targetSize:contentMode:options:resultHandler:
方法从PHAsset获取图像。
PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init];
options.resizeMode = PHImageRequestOptionsResizeModeExact;
options.deliveryMode = PHImageRequestOptionsDeliveryModeHighQualityFormat;
[[PHImageManager defaultManager] requestImageForAsset:asset targetSize:CGSizeMake(150, 200) contentMode:PHImageContentModeAspectFit options:options resultHandler:handler];
这些代码有效,但是返回的imageSize不是{150,200},而是{300,400},即图像的完整大小。 我该如何解决?
谢谢。
您的targetSize是:CGSizeMake(150,200)尝试将其更改为CGSizeMake(300,400)
我该怎么解释...
在代码或界面生成器中,我们将iPhone 5屏幕的屏幕尺寸指定为(320,568),但实际上是视网膜尺寸(640,1136)。
因此(150,200)将给您(300,400)。 如果您想要150 x 200,请尝试将targetSize指定为(75,100)。
我认为我们应该用Screen scale修复targetSize。
-(CGSize)fixTargetSize:(CGSize)targetSize{
CGFloat scale = [UIScreen mainScreen].scale;
return CGSizeMake(targetSize.width*scale, targetSize.height*scale);
}
因此,如果使用UIImageView,则会得到固定的图像,可以正确显示。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.