iOS:如何使所有UIImageViews大小相同?

问题描述

目前,我有一个Vertical StackView。在该StackView内部,有三个水平StackView。在每一个中,都有两个UIView正在加载我创建的XIB故事板视图。看起来像这样:

enter image description here

在每个XIB UIView中,都有一个ImageView和一个Label。当前,我遇到一个问题,即第一个UIView中的第一个ImageView是正确的大小,但是由于某种原因,紧随其后的所有其他ImageView都被缩小了。这就是我的意思:

enter image description here

我发现的是,如果我取消注释为“第一项”的ImageView设置图像的代码行,那么“第二项”现在将是正确的大小,之后的所有内容将是如此处所示缩小:

enter image description here

由于某些原因,只有先设置的ImageView才是正确的大小,然后缩小所有内容

对XIB文件的约束如下:

enter image description here

ImageView上的内容模式为“宽高比”。

总体上的垂直StackView和每个水平StackView的“分布”均设置为“均等填充”。

我像这样在viewDidLoad函数中设置所有UIView信息:

calendarMenuItem.setBackgroundColour(colour: Environment.Colours.navyGreen)
calendarMenuItem.iconImageView.image = UIImage(systemName: "calendar.circle.fill")
calendarMenuItem.headingLabel.text = "FirsT ITEM"

有人知道我该如何解决吗?很抱歉,如果我没有提供足够的信息,因为我不确定还能提供什么。如果您需要查看更多内容,我可以更新问题。

谢谢。

解决方法

似乎发生了此问题,因为ImageView的底部约束已连接到标签的顶部。当我改为将约束添加到视图的底部时,它已修复。

在较小的设备(如iPhone 8)上,ImageView缩小到小尺寸仍然存在一些尺寸调整问题,但确实解决了仅第一个View的ImageView尺寸正确,而所有其他尺寸都较小的问题。现在它们都一样大小。

enter image description here

,

您可以尝试为图像设置固定的宽度和高度,它将起作用

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...