2013-01-22 3 views
1
I이 링크에서 다음 코드를 사용한

유지하면서 AsyncImageView (UIImageView에의 서브 클래스)의 크기를 조정하는 방법 : How to resize an UIImage while maintaining its Aspect Ratio 그 종횡비 maintaing 고정 크기 (* 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; 
} 

이는 이미지가 내 응용 프로그램에로드되는 방법입니다 enter image description here

+0

작은 수정 asyncImageView는 이미지가 아닙니다. UIView입니다.보기 –

+0

아니요. @interface AsyncImageView : UIImageView – Dee

+0

죄송합니다. 내 실수. 나는 UIView 버전을 사용하고 있었다. –

답변