我一直在尝试实现图片时间轴(如 instagram 或 facebook)。 但是,我一直在为图像的比例而苦苦挣扎。
这是包含我的 Cell 的 xib:
我希望图片保持其比例并完全填满单元格的宽度。 我在 UIImageView 上设置了 4 个自动布局约束,水平约束为 0-0,顶部/底部约束为 5-5。我还将 ViewMode 设置为“Aspect Fit”。
我尝试过不同的设置:
- 将 UIImageView 的高度设置为特定值: --> 修改图片宽度以保持图片比例
- 不要设置 UIImageView 的高度 --> 它认为高度等于 0,因此甚至不显示图像
- 将高度设置为大于或等于特定值: --> 与1相同的行为。(修改图像的宽度以保持图像比例)
我正在从 URL 加载图像,所以我一直在使用具有以下功能的库 Haneke ( https://github.com/Haneke/HanekeSwift ): imageView.hnk_setImageFromURL(url).
它具有自动调整图像大小的功能,我不知道如何获取图像的原始宽度/高度以手动设置高度。
同样,我想要的是图片保持其比例并完全填满单元格的宽度。
有人有什么建议吗?
非常感谢!
最佳答案
这是我想出的设置。这是一个快速而肮脏的演示,但我假设您希望图像始终居中。您可以在 Storyboard中设置水平和垂直中心约束以始终保持居中
如果您希望它始终完全填满 View ,您可以将 Equal Height
替换为 Equal Width
,但这样做时,imageView 会在某些尺寸上超出屏幕,因为纵横比约束
我还包含了不同尺寸的 View 截图
关于ios - AutoLayout - 保持图像与水平约束的比例 (Swift Xcode 6),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27119325/