在 storyboard 或 interface builder 中为 uiimageview 设置图像时,它会保留原来的形状UIImageView
,这意味着图像本身是完全扭曲的。
为了匹配UIImageView
其图像的大小,我必须从文件检查器中手动输入大小。
有没有一种方法UIImageView
可以自动检测其图像的原始大小并相应地调整其自身的大小?
在 storyboard 或 interface builder 中为 uiimageview 设置图像时,它会保留原来的形状UIImageView
,这意味着图像本身是完全扭曲的。
为了匹配UIImageView
其图像的大小,我必须从文件检查器中手动输入大小。
有没有一种方法UIImageView
可以自动检测其图像的原始大小并相应地调整其自身的大小?
我假设您指的是故事板/IB 中的布局。要获得图像的原始大小,只需选择图像并按键盘上的Command + = 。按比例重新调整大小选择角并在重新调整大小时按住 shift 键。
为什么不在代码中设置 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
使用 contentMode
imageView.contentMode = UIViewContentModeScaleAspectFit;
编辑:我刚刚看到您似乎想将 imageViews 大小调整为图像....不同
这就是我所做的:
imageView.clipsToBounds = YES;
[imageView setContentMode: UIViewContentModeScaleAspectFit];
这对我有用。