Ios 如何将imageView添加到collectionViewCell中的scrollView

Ios 如何将imageView添加到collectionViewCell中的scrollView,ios,swift,xcode,uiscrollview,Ios,Swift,Xcode,Uiscrollview,我有一个显示图像的collectionViewCell。我已经向该单元格添加了一个scrollView和故事板约束,以将scrollView固定到superview的顶部、底部、前导和尾随 然后,我在故事板中添加了一个imageView作为scrollView的子视图,并向imageView的superview(即scrollView)添加了类似的4个约束 在这个阶段,故事板中有一个红色警告,因为scrollView需要限制可滚动的高度和宽度 通过将imageView的宽度和高度设置为与单元格的

我有一个显示图像的collectionViewCell。我已经向该单元格添加了一个scrollView和故事板约束,以将scrollView固定到superview的顶部、底部、前导和尾随

然后,我在故事板中添加了一个imageView作为scrollView的子视图,并向imageView的superview(即scrollView)添加了类似的4个约束

在这个阶段,故事板中有一个红色警告,因为scrollView需要限制可滚动的高度和宽度

通过将imageView的宽度和高度设置为与单元格的containerView相等,可以使其静音。i、 e.滚动视图的超级视图

当我运行时,图像显示正确。但是,当我通过挤压放大图像时,当我四处平移时,imageView的顶部和底部都有一个令人尴尬的边距

我假设这是因为imageView在高度上的大小大于图像,所以当我缩放时,图像上方和下方的区域也在scrollView的contentSize中

imageView设置为aspectFit

不确定解决这个问题的最佳方法是什么

编辑1

这里有两个屏幕截图。我已将imageView的背景视图设置为粉红色,以演示正在发生的事情。第一个图像是缩放前正确显示的图像。在第二幅图像中,图像被缩放和平移。我想在放大时消除顶部的边框

编辑2

我还尝试向imageView添加固定的宽度和高度约束,该约束在添加图像时会更新。在这种情况下,一切正常,除了imageView位于scrollView的左上角而不是居中


我不太清楚,但听起来你的scrollview内容太模糊了。将UIScrollView想象成一扇窗户。你可以在窗口中移动潜在客户的东西。当你向窗口移动时,物体可以变大或变小,当你从左向右移动时,物体可以平移。但为了正确显示,窗口内的内容需要具有某种一致性,例如大小,以便窗口可以按预期进行缩放

从软件设计的角度来看,你真的应该问问自己。如果将UIImageView设置为等于superview的高度和宽度(即滚动视图),然后该superview的高度和宽度等于该superview的UICollectionViewCell,那么为什么还要将UIScrollView放在第一位

就我个人而言,我会为imageview设置约束出口,并以编程方式更新高度和宽度,或者设置一个设置比率的约束,然后只更新高度或宽度约束。为约束设置一个默认值,然后从那里开始计算


让我们了解最新情况。

删除相同的高度或宽度。可能保留其中一个,并添加一个图像作为占位符,以消除警告。运行并查看您的想法删除了等高约束并添加了占位符。当我放大时,上下边距也存在同样的问题。你能看到一个图像和你想要的吗?如果你的imageview没有正确居中,那么你应该为“垂直居中”、“水平居中”或两者添加约束。你不能添加居中约束。如果在缩放图像时执行此操作,则imageView将移动且无法向后移动