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

问题描述 投票:2回答:1

我一直在努力实现图片的时间线(如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)。

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

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

有人有建议吗?

非常感谢 !

ios xcode swift uiimageview autolayout
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.