如何将UIImageView约束到最佳尺寸?

时间:2015-09-09 01:04:18

标签: ios objective-c autolayout

在我的IOS应用程序中,我想显示可以在设备上完全显示的图像的最大变化。我想这样做而不是将图像调整为更大或更小,以使图像看起来不模糊。

在我的网络服务器上,我有3个相同图像的变体。为了简单起见,我们说它们的宽度只有不同:640,750和1000。

iPhone 5将显示640宽度图像。 iPhone 6将显示750宽度图像。 iPhone 6+将显示1000宽度图像。

我可以很容易地获得UIImageView的大小以下载正确的图像,但是如何在UIImageView上设置自动布局约束,将UIImageView设置为正确的宽度?

如果我在UIImageView上设置了低优先级< = 1000宽度约束,则无论设备大小如何,图像都以1000的宽度显示。即使我将UIImageView设置为具有较低的内容压缩阻力优先级,也是如此。

我正在使用XCode,Objective C和IOS 8.

如果我出错了,请告诉我。

谢谢!

1 个答案:

答案 0 :(得分:2)

简单的解决方案是制作UIImageView的宽度约束,然后为其创建一个插座。

现在在代码中,通过根据设备计算设置constraint.constant值。