iPhone图像延伸到整个imageView

时间:2011-12-09 15:04:32

标签: iphone image uiimageview stretched

- (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];
}

这是我在主控制器中调用的代码。它应该加载图像,将其绘制成矩形,然后显示它。这个代码可以解决这个问题:小问题:图像的纵横比不会被保留 - 图像高度似乎被拉伸,因此整个图像看起来很紧张。造成这种情况的原因是什么?

2 个答案:

答案 0 :(得分:1)

这是由于内容模式。改变它:

[iv setContentMode:UIViewContentModeScaleAspectFit];

答案 1 :(得分:1)

我认为你的问题是你的ImageView的contentMode 尝试一下

 [iv setContentMode:UIViewContentModeTop];

如果你想让它具有自己的尺寸。

否则你喜欢缩放或其他什么,你只是有很多选择

UIViewContentModeScaleToFill
UIViewContentModeScaleAspectFit,
UIViewContentModeScaleAspectFill,
UIViewContentModeRedraw,
UIViewContentModeCenter,
UIViewContentModeTop,
UIViewContentModeBottom,
UIViewContentModeLeft,
UIViewContentModeRight,
UIViewContentModeTopLeft,
UIViewContentModeTopRight,
UIViewContentModeBottomLeft,
UIViewContentModeBottomRight, 

享受;)

相关问题