画像サイズにあわせてUIImageViewに貼付ける
デフォルトだと
UIImageView に UIImage を貼付けると、どんな縦横比の画像だろうと問答無用で
UIImageView のサイズに変換されて貼付けられてしまう。
contentMode を設定する
UIImageView の contentMode プロパティに UIViewContentModeScaleAspectFit をセットすることで
画像の縦横比を維持したまま UIImageView に貼付けることが可能となる。
また、contentMode に貼付けることができるのは以下
typedef enum { UIViewContentModeScaleToFill, // これがデフォルト。UIImageViewにめいっぱいひろげる UIViewContentModeScaleAspectFit, // 画像のaspect比を維持し、ちょうどはいるようにする UIViewContentModeScaleAspectFill, // 画像のaspect比を維持し、めいっぱい広げる(はみ出した分がみれなくなる) UIViewContentModeRedraw, // UIViewContentModeScaleToFill これと同じに見えるけどなんだろう・・ UIViewContentModeCenter, // 画像サイズをそのままに、真ん中を表示 UIViewContentModeTop, // 上を UIViewContentModeBottom, // 下を UIViewContentModeLeft, // 左を UIViewContentModeRight, // 右を UIViewContentModeTopLeft, // 左上を UIViewContentModeTopRight, // 右上を UIViewContentModeBottomLeft, // 左下を UIViewContentModeBottomRight, // 右下を } UIViewContentMode;
サンプル
#import <UIKit/UIKit.h> @interface RnamikiViewController : UIViewController @end @implementation RnamikiViewController - (void)loadView { UIImageView *imageView = [[UIImageView alloc]init]; UIImage *image = [[UIImage alloc] initWithContentsOfFile:path]; imageView.contentMode = UIViewContentModeScaleAspectFit; imageView.image = image; [image release]; self.view = imageVew; [imageView release]; } @end