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的主要内容,如果未能解决你的问题,请参考以下文章