2013-07-26 158 views
2

我需要根據UIImageView的大小調整我的UIImage的大小。我的圖片太小,所以我需要擴展它。我無法使用它:在UIImageView中安裝UIImage

self.firstImage.contentMode = UIViewContentModeScaleAspectFit; 

請幫助。

+1

你嘗試其他內容模式? – Wain

+0

是的..我試過..但沒有任何模式爲我工作..然而@ vineet的建議解決了我的問題.. – Shradha

回答

4

您只需設置您的UIImageView的框架並將contentMode設置爲其中一個調整大小選項。

或者您可以使用此工具方法,如果你確實需要調整圖像大小:

+ (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize { 
    //UIGraphicsBeginImageContext(newSize); 
    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0); 
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)]; 
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();  
    UIGraphicsEndImageContext(); 
    return newImage; 
} 

還是看看這些鏈接:

http://nanostuffs.com/Blog/?p=586

http://www.abdus.me/ios-programming-tips/resize-image-in-ios/

+0

謝謝..爲我工作.. – Shradha

+0

我看到這個代碼張貼到處,這是偉大的,但我如果尺寸不同,請使用設置圖像的圖像尺寸縮小。例如,如果圖像大小爲1200x1600,並且uibutton框架爲80x80,則圖像大小會變窄。有人能幫忙嗎?謝謝。 – Rod

0

嘗試這個:

self.imageView.contentMode = UIViewContentModeScaleAspectFill; 
self.imageView.clipsToBounds = YES; 
+0

clipsToBounds是一個UIView屬性,UIImageView擴展了UIView。 – Camo

+0

謝謝這對我有用:) –

+0

錯字:應該是clipsToBounds而不是clipToBounds – BDR

2

在雨燕3.0,這將是

func imageWithImage(image:UIImage, scaledToSize newSize:CGSize) -> UIImage { 

    UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0) 
    image.draw(in: CGRect(x: 0, y: 0, width: newSize.width, height: newSize.width)) 
    let newImage : UIImage = UIGraphicsGetImageFromCurrentImageContext()! 
    UIGraphicsEndImageContext(); 
    return newImage; 

}