2012-09-13 19 views
7

UIViewController内にストーリーボードを使用して作成したUIImageViewがあります。画面の幅に合わせて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

関連する問題