2012-09-13 218 views
7

我有一個UIImageViewUIViewController內使用Storyboard創建。縮放UIImageView以適合屏幕寬度

我試圖重新調整圖像的寬度以適合屏幕的寬度和按比例重新調整高度:

[fImage setImage:[UIImage imageNamed: @"f2345.jpeg"]]; 
[fImage sizeToFit]; 
fImage.contentMode = UIViewContentModeScaleAspectFit; 
CGRect frame = filmImage.frame; 
frame.size.width = [[UIScreen mainScreen] bounds].size.width; 
// Alternative way to do the similar thing - gives the same result in my case 
// frame.size.width = [[UIScreen mainScreen] applicationFrame].size.width; 
fImage.frame = frame; 

然後,它顯示了縮放圖像,但它符合其他一些地區,有一個我的照片留下空白。

回答

12

嘗試使用此代碼:

float imgFactor = frame.size.height/frame.size.width; 
frame.size.width = [[UIScreen mainScreen] bounds].size.width; 
frame.size.height = frame.size.width * imgFactor; 
+0

偉大的作品,謝謝!我仍然不明白爲什麼你提供了我的案例,請你解釋一下嗎? – syntagma

+0

原因是你正在定義你的視圖的框架;這樣做會挫敗你在界面構建器中設置的任何自動縮放;所以,如果你修改框架,最好根據你想要的修改它。我所做的是將寬度設置爲全尺寸,然後以保持比例不變的方式計算高度。 – sergio