2012-08-15 6 views
13

ストーリーボードまたはインターフェイスビルダでuiimageviewのイメージを設定すると、元のUIImageViewの形状が保持されます。つまり、イメージ自体が完全に歪んでいます。Interface Builder/StoryboardでUIImageViewを自動サイズ調整する方法はありますか?

画像にUIImageViewのサイズを一致させるには、手動でファイルインスペクタからサイズを入力する必要があります。

UIImageViewは自動的に画像のネイティブサイズを検出し、それに応じてサイズを変更できますか?

答えて

45

です。画像のネイティブサイズを取得するには、画像を選択し、キーボードのコマンド + =を押してください。それを比例的にコーナーを選択し、サイズを変更するときにシフトキーを押し続けます。

+0

すばらしいショートカットです!画像を2倍のネイティブサイズ(2倍の網膜画像の場合)に設定する方法はありますか? – zakdances

+0

珍しいことをしない限り、網膜の解像度を考慮する必要はありません。 iOSは自動的に@ 2xイメージを正しいサイズに置き換えます。 IBの非網膜画像を使用するだけです。 –

+0

これは素晴らしいタイムセーバーです、ありがとうございます。 –

1

はcontentMode

 imageView.contentMode = UIViewContentModeScaleAspectFit; 

編集使用します。 を私はちょうどあなたが異なるその後、

2

あなたが設定されていないのはなぜ....画像にimageViewsサイズを調整したいように見える見ましたコード内のuiimageviewのサイズ? は、ここで私はあなたがストーリーボード/ IBでレイアウトを参照していると仮定しています...あなたは何をする必要があるか

//get the Image 
UIImage *img = [UIImage imageNamed:@"img.png"]; 

CGFloat x = img.origin.x; 
CGFloat y = img.origin.y; 
CGFloat width = img.size.width; 
CGFloat height = img.size.height; 
imageView.frame = CGRectMake(x, y, width, height); //imageView is your uiimageview's reference 
+0

ストーリーボード/ IBインターフェースでこれを行う方法はありませんか? – zakdances

+0

私は今私のMacを持っていないのでわからない。私はあなたがIB /ストーリーボードでサイズを変えることができるとは思わない。アウトレットとの接続はviewDidLoadメソッドが呼び出されるまで実際には行われないので、このメソッドが呼び出される前にイメージビューにアクセスしようとするとnilが表示されます。 – Humayun

-3

これは私がやったことです:私のために働いている

imageView.clipsToBounds = YES; 
[imageView setContentMode: UIViewContentModeScaleAspectFit]; 

関連する問題