2011-12-09 36 views
0
(void)viewDidLoad 
{ 
UIImage *image = [UIImage imageNamed:@"moon"]; 
CGSize size = CGSizeMake(256, 256); 
UIGraphicsBeginImageContextWithOptions(size, YES, 1); 
CGRect imageRect = CGRectMake(50.0, 50.0, 128, 128); 
[image drawInRect: imageRect]; 
image = UIGraphicsGetImageFromCurrentImageContext(); 
UIImageView *iv = [[UIImageView alloc] initWithImage: image]; 
[self setView: iv]; 
[iv release]; 
[super viewDidLoad]; 
} 

這是我在我的主控制器中調用的代碼。它應該加載圖像,將其繪製到矩形中,然後顯示它。而這段代碼就是這樣做的,帶有一個小問題:圖像的高寬比不被保留 - 圖像高度似乎被拉長了,所以整個圖像看起來很緊張。這是什麼造成的?整張圖片上延伸的iPhone圖像查看

回答

1

我認爲你的問題是你的ImageView的contentMode 如果你希望它是它自己的大小給它一個嘗試

[iv setContentMode:UIViewContentModeTop]; 

否則你喜歡它進行縮放或什麼的,你剛一噸的選項

UIViewContentModeScaleToFill 
UIViewContentModeScaleAspectFit, 
UIViewContentModeScaleAspectFill, 
UIViewContentModeRedraw, 
UIViewContentModeCenter, 
UIViewContentModeTop, 
UIViewContentModeBottom, 
UIViewContentModeLeft, 
UIViewContentModeRight, 
UIViewContentModeTopLeft, 
UIViewContentModeTopRight, 
UIViewContentModeBottomLeft, 
UIViewContentModeBottomRight, 

享受;)

1

這是由於內容模式。改變這樣的:

[iv setContentMode:UIViewContentModeScaleAspectFit];