2013-04-24 137 views
-1

我有一個UIImageView的視圖。我從我的服務器檢索300像素寬和100像素高的圖像。但是,當我將圖像插入到我的UIImageView中時,圖像被拉伸到圖像視圖的大小。調整大小的UIImageView

代碼viewDidLoad:

id path = @"URL TO IMAGE"; 
NSURL *url = [NSURL URLWithString:path]; 
NSData *data = [NSData dataWithContentsOfURL:url]; 
UIImage *img = [[UIImage alloc] initWithData:data]; 

CGRect frame = [imageView frame]; 
frame.size.width = 300; 
frame.size.height = 100; 
[imageView setFrame:frame]; 

self.imageView.image = img; 

然而,UIImageView大小沒有變化到值中的行我的代碼6 & 7的上方。

我明白任何意見,我是很新的Objective-C的。

.H:

#import <UIKit/UIKit.h> 

@interface detailViewController : UIViewController 
@property (strong, nonatomic) IBOutlet UIImageView *imageView; 

回答

3

您需要設置的UIImageView的contentMode。查看UIView文檔contentMode以查看可以使用的不同值。例如,UIViewContentModeScaleToFill拉伸圖像以準確地匹配UIImageView的大小; UIViewContentModeCenter根本不會改變圖像的大小;等等。

編輯:至於UIImageView本身,你需要確保你的引用都指向正確的相同的UIImageView,並且這是來自筆尖的相同的UIImageView。此外,如果Autolay打開筆尖,則setFrame:將不起作用,因爲該框架由約束條件決定。

+0

我加入self.imageView.contentMode = UIViewContentModeScaleToFill;但仍然不能縮放圖像 – 2013-04-24 21:51:21

+0

你怎麼知道?將UIImageView的backgroundColor設置爲黑色。這樣你可以看到UIImageView本身,並且你將能夠看到圖像和圖像視圖之間的關係。 – matt 2013-04-24 21:54:34

+0

我沒有改變背景顏色的建議,並在文件的.xib改變的UIImageView的大小,UIImageView的大小不被改變的值上線6&7 – 2013-04-24 22:00:55

相關問題