如何在UIScrollView中将UIImage视图缩放为一个带有Autolay的正方形

我一直在努力学习自动布局(最后)。 我想有一个垂直滚动的UIScrollView,它包含视图的所有内容。 我想将UIImage视图固定在滚动视图的顶部,并保持图像正方形(scaleToFill)。 基本上我想这样做(只有我想用自动布局来做):

在这里输入图像说明

在屏幕边界内,我无法保持图像的高宽比。 每当我添加长宽比约束时,imageView会增长到600点(我认为png的宽度),但是我希望它只是和屏幕一样宽。

我想我正在为UIImageView正确设置约束,因为如果我摆脱scrollView,并直接放在视图imageViw然后它似乎做我想要的。 诀窍是把它放在scrollView中。

这是我目前的设置:

在这里输入图像说明

滚动视图上的4个垂直/水平空间约束全部设置为常量0。

由于UIScrollView的大小取决于其内容,因此不能使UIImageView子视图的大小依赖于它。

您必须删除UIImageView的纵横比约束,并使用固定宽度的约束。 你也可以让你的UIImageView宽度依赖于UIScrollView另一个视图,它具有固定的宽度或者其他明确的宽度。

不要忘记在Interface Builder中使用占位符作为固有尺寸值。

希望这可以帮助。