ios - UIImageView 约束为 1 :1 aspect ratio and 1:1 scaled to original?

标签 ios swift constraints

有没有什么简单的方法可以在 ImageView 中实现 1:1 的纵横比和缩放到原始图像?

我不想只保持图像纵横比,我希望它与底层图像的大小完全相同(也与原始图像 1:1 比例)...不小,不大...所以它将在屏幕上以像素或 UIKit 点的热值或 w/e 与原始值(缩放比例 1)为 1:1。

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

如何将比例设置为 1 作为约束?有什么方法可以做到这一点,而无需对宽度/高度约束进行任何硬编码以匹配原始图像的大小?

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

更新:

我能做到这一点的唯一方法是将紧贴/压缩优先级设置为高于布局中的其他项目。仅设置宽高比约束是行不通的……我认为没有其他方法可以在不触及压缩/拥抱优先级的情况下确保这种行为。

最佳答案

不要对您的 UIImageView 设置任何高度或纵横比限制,只需设置适合您需要的宽度限制或前导和尾随限制。并制作 contentMode AspectFill

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

enter image description here enter image description here

关于ios - UIImageView 约束为 1 :1 aspect ratio and 1:1 scaled to original?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52857774/

相关文章:

ios - 使用 NS[UI]ScrollView 操作投影

c# - 强制通用参数可从字符串解析的约束

json - 是否可以更改 ASP.NET MVC 3 路由约束,使其返回 400 Bad Request 和 JSON 正文?

sql - 如何使用 SQL 在 MS Access 中使用 'DROP' 和未命名关系/约束?

ios - NSDate:将 UTC 值转换为军事时区值

ios - 为什么 LLDB 调试器总是无法附加?

ios - WKWebView 中的嵌入推文有时无法完全加载

ios - 当我在 iPad 上运行时,应用程序的大小不会改变

swift - 如何在 Swift 中从子类内的函数获得多个返回值

swift - 在 3 个位置之间平滑动画 swift 3