19

在 storyboard 或 interface builder 中为 uiimageview 设置图像时,它会保留原来的形状UIImageView,这意味着图像本身是完全扭曲的。

为了匹配UIImageView其图像的大小,我必须从文件检查器中手动输入大小。

有没有一种方法UIImageView可以自动检测其图像的原始大小并相应地调整其自身的大小?

4

4 回答 4

52

我假设您指的是故事板/IB 中的布局。要获得图像的原始大小,只需选择图像并按键盘上的Command + = 。按比例重新调整大小选择角并在重新调整大小时按住 shift 键。

于 2012-08-15T10:00:36.190 回答
3

为什么不在代码中设置 uiimageview 的大小?这是你需要做的...

//get the Image
UIImage *img = [UIImage imageNamed:@"img.png"];

CGFloat x = img.origin.x;
CGFloat y = img.origin.y;
CGFloat width = img.size.width;
CGFloat height = img.size.height;
imageView.frame = CGRectMake(x, y, width, height);  //imageView is your uiimageview's reference
于 2012-08-15T09:40:55.293 回答
1

使用 contentMode

 imageView.contentMode = UIViewContentModeScaleAspectFit;

编辑:我刚刚看到您似乎想将 imageViews 大小调整为图像....不同

于 2012-08-15T09:39:05.263 回答
-3

这就是我所做的:

imageView.clipsToBounds = YES;
[imageView setContentMode: UIViewContentModeScaleAspectFit];

这对我有用。

于 2015-10-28T19:03:34.103 回答