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