故事板中的 UIStackView 强制固有内容大小

UIStackView in storyboard forces intrinsic content size

在情节提要中,我向 UIView 添加了 UIStackView,在 UIStackView 中,我添加了带有指定图像的 UIImageView。指定的图像位于 XCAssets 中,其 2X 大小为 59X60。 UIImageView 正在将其宽度设置为此固有大小,但我希望它为 44X44 并且图像可以缩放以适合。但是,在 Storyboard 中,对于 ImageView 和 UIStackView,高度和高度设置被禁用并设置为 59X60。我想在 UIStackView 中以 44X44 的水平水平堆叠 5 个相同的带星星的 ImageView。

想法?

更新:似乎向 UIStackView 添加高度约束会导致缩放,但星星的外观会变形。

宽度和高度字段显示为灰色,因为图像视图位于堆栈视图中。您必须使用约束来控制堆栈视图排列的子视图的大小。

首先,确保所有五颗星的视图都将“内容模式”设置为“适合纵横比”:

然后,约束所有五个星形视图彼此具有相同的宽度和高度:

最后,约束其中一个星形视图的宽度恒定为 44,高度恒定为 44:

如果你想space星之间,设置堆栈视图的“间距”:

如果你想在星星周围填充,你可以在堆栈视图之外进行,或者你可以将堆栈视图的“布局边距”设置为固定常量(并关闭“安全区域相对边距”):