[英]How to resize AsyncImageView (subclass of UIImageView) while maintaining its Aspect Ratio
我从此链接使用了以下代码: 如何在保持UI纵横比的同时调整UIImage的大小,以通过保持UI纵横比将图像调整为固定大小(100 * 100)。 我在应用程序中使用AsyncImageView来使用url加载图像。 您可以从以下链接获取AsyncImageView代码: nicklockwood / AsyncImageView
但是,那些图像看起来仍然像是被压缩了。 我该如何解决这个问题?
- (UIImage*) scaleImage:(UIImage*)image toSize:(CGSize)newSize {
CGSize scaledSize = newSize;
float scaleFactor = 1.0;
if( image.size.width > image.size.height ) {
scaleFactor = image.size.width / image.size.height;
scaledSize.width = newSize.width;
scaledSize.height = newSize.height / scaleFactor;
}
else {
scaleFactor = image.size.height / image.size.width;
scaledSize.height = newSize.height;
scaledSize.width = newSize.width / scaleFactor;
}
UIGraphicsBeginImageContextWithOptions( scaledSize, NO, 0.0 );
CGRect scaledImageRect = CGRectMake( 0.0, 0.0, scaledSize.width, scaledSize.height );
[image drawInRect:scaledImageRect];
UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return scaledImage;
}
这是在我的应用程序中加载图像的方式:
为什么不使用SDWebImage获取远程图像? 这是链接: https : //github.com/rs/SDWebImage
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.