如何在UIScrollView中使用Autolayout将UIImage视图缩放为正方形

时间:2014-09-10 19:27:51

标签: ios uiscrollview autolayout ios-autolayout

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

enter image description here

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

我认为我正在为UIImageView正确设置约束,因为如果我摆脱了scrollView并将imageViw直接放在视图上,那么它似乎就像我想要的那样。诀窍是把它放在scrollView中。

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

enter image description here

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

1 个答案:

答案 0 :(得分:0)

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

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

不要忘记在Interface Builder中使用Placeholder作为内在大小值。

希望这有帮助。