2011-12-09 17 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]; 
関連する問題