无法在 UIScrollView 和 AutoLayout 中使用 AspectFill 滚动 UIImageView

Can't scroll UIImageView with AspectFill in UIScrollView and AutoLayout

我有一个带有单个 UIImageView 子项的 UIScrollView。 scrollView 使用自动布局固定到(根)父容器,子图像视图也固定到内容模式设置为 AspectFill.

的所有侧面
UIImage *image = [UIImage imageNamed:@"photo1.jpeg"];

_imageView.image = image;
_imageView.contentMode = UIViewContentModeScaleAspectFill;

_scrollView.contentOffset = CGPointZero;
_scrollView.contentSize = _imageView.image.size;
_scrollView.zoomScale = 1;

本例中的图像比我的屏幕宽。当我启动我的应用程序时,图像视图正确显示填满屏幕的图像。但是,我似乎无法向左或向右平移图像。当我放大时,我可以平移,但是我无法平移到图像的角落。

由于自动布局,我觉得我的内容大小没有被正确计算,但我不确定我可以播放哪些参数可以让我将图像滚动到它的边缘。

我在下面附上了一张图片,您可以看到图片无法以显示 'happiness' 开头的方式滚动。我还上传了示例 here

the child imageview is also pinned to all sides

相反,为子图像视图关闭自动布局(将其translates...设置为是)。您已经将滚动视图的 contentSize 设置为图像大小,因此现在可滚动性将跃入生活并与缩放正确交互。