在我用Swift 3编写的iOS应用程序中,我有4 UIImages,每个UIImages在UIStackView中,2 UIStackViews在另一个UIStackView中,如下图所示:

在图片中,你可以看到我对图像所做的划分。
您还可以看到问题,当图像退出屏幕,用户无法看到完整的图像,因为它是被裁剪的。
所有图像在Assets.xcassets中的图像集上都是"2x“大小。
在属性检查器上的Main.storyboard上,我将所有4幅图像的内容模式更改为“缩放填充”。我在代码中也这样做了:
phoneCallImage.contentMode = UIViewContentMode.scaleAspectFit
sendEmailImage.contentMode = UIViewContentMode.scaleAspectFit
sendSmsImage.contentMode = UIViewContentMode.scaleAspectFit
openFacebookImage.contentMode = UIViewContentMode.scaleAspectFit我还尝试使用完整的UIStackView (图片中的图像堆栈视图):
imagesStackView.contentMode = UIViewContentMode.scaleAspectFit我能做些什么来修复这个问题并在不剪切的情况下显示完整的图像呢?
发布于 2017-05-04 11:18:50
我设法解决了这个问题。
首先,我选择了完整的UIStackView (图片中的图像堆栈视图)并向其添加了约束,将边距设置为0:

之后,我选择了UIStackView中的所有图像,并将其宽度和高度从“约束”菜单更改为171.5,以使其成为正方形:

在那之后,所有的东西都完美地排列在屏幕上。
https://stackoverflow.com/questions/43780313
复制相似问题