1

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

在此处输入图像描述

在保持在屏幕范围内时,我无法让图像保持其纵横比。每当我添加纵横比约束时,imageView 都会增长到 600 点(我认为是 png 的宽度),但我希望它与屏幕一样宽。

我想我正在为 UIImageView 正确设置约束,因为如果我摆脱了 scrollView 而只是将 imageViw 直接放在视图上,那么它似乎会做我想做的事。诀窍是将它放在滚动视图中。

这就是我目前的设置方式:

在此处输入图像描述

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

4

1 回答 1

1

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

您必须删除 的纵横比约束UIImageView并使用固定宽度的约束。您还可以让您的UIImageView宽度取决于另一个视图,该视图UIScrollView具有固定宽度或其他明确的宽度。

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

希望这可以帮助。

于 2014-09-10T20:28:49.917 回答