有没有什么简单的方法可以在 ImageView 中实现 1:1 的纵横比和缩放到原始图像?
我不想只保持图像纵横比,我希望它与底层图像的大小完全相同(也与原始图像 1:1 比例)...不小,不大...所以它将在屏幕上以像素或 UIKit 点的热值或 w/e 与原始值(缩放比例 1)为 1:1。
如果您只设置纵横比,图像可能会放大或缩小,同时保持纵横比。我想阻止这种行为并告诉它不要缩放。
如何将比例设置为 1 作为约束?有什么方法可以做到这一点,而无需对宽度/高度约束进行任何硬编码以匹配原始图像的大小?
基本上我想告诉自动布局...这是图像,不要触摸它,无论如何都不要缩放它,让它与原始图像完全一样(缩放 1)。
更新:
我能做到这一点的唯一方法是将紧贴/压缩优先级设置为高于布局中的其他项目。仅设置宽高比约束是行不通的……我认为没有其他方法可以在不触及压缩/拥抱优先级的情况下确保这种行为。
最佳答案
不要对您的 UIImageView
设置任何高度或纵横比限制,只需设置适合您需要的宽度限制或前导和尾随限制。并制作 contentMode
AspectFill
。
ImageView 会自动缩放以匹配它持有的图像的纵横比。但是,请确保高度 <= 您应该拥有的最大高度(在下面的图像中,我应该将高度 <= 屏幕高度),这样图像就不会超出所需的范围。
关于ios - UIImageView 约束为 1 :1 aspect ratio and 1:1 scaled to original?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52857774/