iPhone图像延伸到整个imageView

问题描述 投票:0回答:2
- (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 image uiimageview stretched
2个回答
1
投票

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

 [iv setContentMode:UIViewContentModeTop];

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

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

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

请享用 ;)


1
投票

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

[iv setContentMode:UIViewContentModeScaleAspectFit];
© www.soinside.com 2019 - 2024. All rights reserved.