Ios 如何使用自动布局调整固定宽度和高度UIImageView的大小

Ios 如何使用自动布局调整固定宽度和高度UIImageView的大小,ios,swift,autolayout,Ios,Swift,Autolayout,我有一个名为myView的视图,它总是占据屏幕的一半并位于屏幕的顶部 在这个视图中,我添加了一个120x120大小的UIImageView,它位于myView的中心(水平和垂直)。在IB内部,为了满足约束条件(X&Y),在设置水平中心和垂直中心后,我始终需要为图像设置固定的宽度和高度 但是,对于固定的高度和宽度,更改屏幕大小时图像不会调整大小。我希望在iPhone5或iPhone4S上运行时调整图像大小,因为myView将调整图像大小。 我需要像这样的东西,图像应该取决于myView大小 如何真

我有一个名为
myView
的视图,它总是占据屏幕的一半并位于屏幕的顶部

在这个视图中,我添加了一个120x120大小的
UIImageView
,它位于
myView
的中心(水平和垂直)。在IB内部,为了满足约束条件(X&Y),在设置水平中心和垂直中心后,我始终需要为图像设置固定的宽度和高度

但是,对于固定的高度和宽度,更改屏幕大小时图像不会调整大小。我希望在iPhone5或iPhone4S上运行时调整图像大小,因为
myView
将调整图像大小。 我需要像这样的东西,图像应该取决于
myView
大小


如何真正做到这一点?

设置
imageView.cliptobunds=yes
,并设置
imageView.contentMode=UIViewContentModeScaleAspectFit

更新
您谈论的是imageView而不是图像,在这种情况下,由于宽度和高度不变,它将不会调整大小,只需做一件事,创建约束条件并在需要时更改这些值,或者您也可以使用superView设置纵横比,如果将图像设置为固定宽度和高度,它将不会分别更改。
您可以将其设置为相对于
myView
,也可以从所有边设置前导和尾随大小,并删除中心约束

您的约束应如下所示:


Swift 4:更新@Adnan Aftab的答案

imageView.clipsToBounds = true
imageView.contentMode = .scaleAspectFit

您是否尝试过设置imageView的contentMode?imageView.ContentMode=UIVIewContentModeAspectFill;是的,但我认为因为高度和宽度是固定的,所以不会改变任何东西。你可以使用自动布局来完成这项工作…但可能有点混乱。。。您只需设置固定高度和宽度约束的出口..然后在ViewWillAspect()函数中以编程方式进行设置..我如何将其设置为相对于myView?您需要使用约束--这需要花费很多时间。你也可以设置固定的尾随和前导空间,这样会产生类似的结果。它不会调整大小,我想这是因为固定的宽度和高度。好的,如果你拍摄的是imageView而不是图像,那么它不会调整大小OK,如果我选择aspect ration和superview,它会给我一个2:5的比例。但是我仍然需要给imageview更多的约束。对我来说,引导/试验/底部/顶部似乎不起作用。它总是问我X和Y约束。你知道我还能给imageview提供什么约束吗?如果你使用前导、顶、底和尾随,那么删除高度和宽度约束,它就会工作……实际上,我只花了一个小时试图手动更新两个NSLayoutConstraint(一个用于宽度,一个用于高度)的
常量值,没有任何进展,
contentMode
就是答案。如果可以的话,我会把它向上投5次。如果我这样做,它会说,例如,前导和尾随=240,因为故事板的自由形式比屏幕大得多。然后当运行时,我的图像视图从屏幕上消失。对不起,我无法理解您的布局,也许您可以附加一个屏幕截图@Adrianit与屏幕截图中的布局完全一致,但图像视图要小得多,并且位于视图的中心。将推断故事板的大小。这比在模拟中运行时的屏幕尺寸要宽得多。@Adrian没问题,将视图大小从推断更改为任何iphone。然后建立约束条件。