繁体   English   中英

UIImageView约束是1:1长宽比和1:1缩放到原始比例吗?

[英]UIImageView constraint to be 1:1 aspect ratio and 1:1 scaled to original?

是否有任何简单的方法可以实现1:1的纵横比并缩放到ImageView中的原始图像?

我不仅要保持图像的长宽比,还希望它与基础图像的尺寸完全相同(也与原始图像比例为1:1)...不小于,不大于...所以它将是在屏幕上以像素为单位或UIKit点的热或与原始图像的比例为1:1(缩放1)。

如果仅设置纵横比,则图像可能会放大或缩小,同时保持纵横比。 我想防止这种行为,并告诉它不要扩大规模。

如何将小数位数设置为1作为约束? 有没有办法做到这一点,而没有对宽度/高度限制进行任何硬编码以匹配原始图像的大小?

基本上,我想告诉自动布局...这是图像,不要触摸它,无论如何都不要缩放它,使其与原始图像完全一样(缩放1)。

更新:

我可以实现此目的的唯一方法是将拥抱/压缩优先级设置为高于布局中的其他项目。 仅设置宽高比约束是行不通的...我认为没有其他方法可以确保这种行为而无需触及压缩/拥抱优先级。

contentMode设置为aspectFit

请参阅Apple官方文档

通过保持纵横比来缩放内容以适合视图大小的选项。 视图边界的所有剩余区域都是透明的。

不要在您的UIImageView放置任何高度或宽高比约束,而只是将宽度约束或前导和尾随约束放入任何适合您的需求。 并使contentMode AspectFill

ImageView将自动缩放以匹配其所持图像的纵横比。 但是请确保高度<=您应该具有的最大高度(在下面的图像中,我应该将height <=屏幕高度),以使图像不会超出期望的范围。

在此处输入图片说明 在此处输入图片说明

尝试将ImageView的ContentMode设置为Center

还记得将剪辑设置为边界。

imageView.clipsToBounds = true
imageView.contentMode = .center

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM