AutoLayout - 保持图像与水平约束的比例(Swift Xcode 6)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AutoLayout - 保持图像与水平约束的比例(Swift Xcode 6)相关的知识,希望对你有一定的参考价值。

我一直在努力实现图片的时间线(如Instagram或Facebook)。但是,我一直在努力应对图像的比例。

这是包含我的Cell的我的xib:

我希望图片保持其比例并完全填充单元格的宽度。我在UIImageView上设置了4个自动布局约束,对于水平约束为0-0,对于顶部/底部约束为5-5。我还将ViewMode设置为“Aspect Fit”。

我尝试了不同的设置:

  1. 将UIImageView的高度设置为特定值: - >修改图像的宽度以保持图像比例
  2. 不要设置UIImageView的高度 - >它认为高度等于0,因此甚至不显示图像
  3. 设置高度大于或等于特定值: - >与1相同的行为。(修改图像的宽度以保持图像比例)

我正在从URL加载图像,所以我一直在使用lib Haneke(https://github.com/Haneke/HanekeSwift)和以下函数:imageView.hnk_setImageFromURL(url)。

它具有图像的自动调整大小,我不知道如何获取图像的原始宽度/高度来手动设置高度。

同样,我想要的是图片保持其比例并完全填充单元格的宽度。

有人有建议吗?

非常感谢 !

答案

这是我提出的设置。这是一个快速而肮脏的演示,但我认为你希望图像始终居中。您可以在故事板中设置水平和垂直中心约束以始终保持居中如果您希望它始终完全填充视图,您可以将Equal Height替换为Equal Width,但是这样做,imageView将在某些尺寸的屏幕上运行,因为宽高比约束

我还包括了不同大小的视图截图

以上是关于AutoLayout - 保持图像与水平约束的比例(Swift Xcode 6)的主要内容,如果未能解决你的问题,请参考以下文章

图像视图autolayout从水平边缘固定到60pt,但自动刻度高度?

AutoLayout 以 50% 比例调整图像大小

如何使用 Autolayout 在不同设备上保持 UIView 比例?

在水平堆栈视图(自动布局)中将文本与图像垂直居中 - iOS

AutoLayout 和 Embedded stackview 约束冲突

AutoLayout约束以适应矩形内的视图,保持一定的纵横比(以编程方式)