iPhone 图像横跨整个 imageView

Posted

技术标签:

【中文标题】iPhone 图像横跨整个 imageView【英文标题】:iPhone image stretched across whole imageView 【发布时间】:2011-12-09 15:04:32 【问题描述】:
- (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];

这是我在主控制器中调用的代码。它应该加载图像,将其绘制成矩形,然后显示它。这段代码可以做到这一点,但有一个小问题:图像的纵横比没有保留 - 图像高度似乎被拉伸了,所以整个图像似乎被拉伸了。这是什么原因造成的?

【问题讨论】:

【参考方案1】:

我认为你的问题是你的 ImageView 的 contentMode 试试看

 [iv setContentMode:UIViewContentModeTop];

如果你想让它有自己的大小。

如果你喜欢它被缩放或其他什么,你就会有很多选择

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

享受 ;)

【讨论】:

【参考方案2】:

这是由于内容模式。改成这样:

[iv setContentMode:UIViewContentModeScaleAspectFit];

【讨论】:

以上是关于iPhone 图像横跨整个 imageView的主要内容,如果未能解决你的问题,请参考以下文章

如何在Android和iPhone上拍摄占据整个屏幕的图像?

iPhone图像延伸到整个imageView

动态设置图像视图的边距

iphone的旋转视图不占用整个屏幕

UIImage导致整个iPhone的视图全部变黑

Latex在IEEEtran的排版中是一页分成左右两部分,我想把一个图片或一个表格横跨在整个页面要怎么办?