簡體   English   中英

如何在保持其縱橫比的同時調整AsyncImageView(UIImageView的子類)的大小

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM