Ios AutoLayout-保留具有水平约束的图像比率(Swift Xcode 6)

Ios AutoLayout-保留具有水平约束的图像比率(Swift Xcode 6),ios,xcode,swift,uiimageview,autolayout,Ios,Xcode,Swift,Uiimageview,Autolayout,我一直在尝试实现一个图片时间表(如instagram或facebook)。 然而,我一直在努力解决图像的比例问题 这是我的xib,其中包含我的手机: 我希望图片保持其比例,并完全填充单元格的宽度。 我在UIImageView上将4个自动布局约束设置为水平约束为0-0,顶部/底部约束为5-5。我还将ViewMode设置为“Aspect Fit” 我尝试了不同的设置: 将UIImageView的高度设置为特定值: -->修改图像的宽度以保持图像比例 不要设置UIImageView的高度 -->它认

我一直在尝试实现一个图片时间表(如instagram或facebook)。 然而,我一直在努力解决图像的比例问题

这是我的xib,其中包含我的手机:

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

我尝试了不同的设置:

  • 将UIImageView的高度设置为特定值: -->修改图像的宽度以保持图像比例
  • 不要设置UIImageView的高度 -->它认为高度等于0,因此甚至不显示图像
  • 将高度设置为大于或等于特定值: -->与1相同的行为。(修改图像的宽度以保持图像比率)
  • 我从一个URL加载图像,所以我一直在使用lib Haneke()和以下函数: hnk_setImageFromURL(url)

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

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

    有人有什么建议吗


    非常感谢

    这就是我想到的设置。这是一个快速而肮脏的演示,但我认为您希望图像始终居中。可以在情节提要中设置水平和垂直中心约束,使其始终居中 如果希望它始终完全填满视图,可以将
    等高
    替换为
    等宽
    ,但这样做时,由于纵横比限制,图像视图将在某些尺寸上脱离屏幕

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


    谢谢你的回答,肖恩。您是否设置了与哪个组件相同的宽度?我试图同时选择我的UIView和我的UIViewImage,但“等宽度”复选框被禁用。另外,您将高度设置为什么值?正如我所说的,如果我不设置任何高度,它根本不会显示图像。imageView设置为与superView相同的宽度。我知道有两种方法可以做到这一点。1.cmd+单击imageView,然后单击superView,然后您应该能够选择故事板底部的
    等宽
    。2.右键单击imageView,按住并拖动到superView,将出现一个弹出窗口,允许您选择
    等宽
    。对于第二个问题,如果设置了
    比率
    等宽
    约束,autolayout应该能够知道要显示的大小。我完全按照您所说的做了,不幸的是,我的UIImageView缺少约束时出错:“需要约束:Y位置或高度”。这是因为我没有为我的Superview指定高度(因为高度应该是动态的)。这里有一个快速而肮脏的演示,如果有帮助,请告诉我。