在不停止 stackView 自动调整大小的情况下对齐图像视图

Posted

技术标签:

【中文标题】在不停止 stackView 自动调整大小的情况下对齐图像视图【英文标题】:Align Image View without stopping a stackView auto-resizing 【发布时间】:2020-02-17 14:08:25 【问题描述】:

我目前面临一个问题,即我有一个带有 UILabel 和 ImageView 的水平堆栈视图。我需要 stackView 根据有多少行文本来动态改变高度。我还希望 imageView 与 UILabel 的底部对齐(即使有第二行)。

我目前已经尝试过:

添加 UIView 并在其中对齐 ImageView。这会停止 stackView 自动调整大小。 将内容模式更改为底部也不起作用,因为我想要合适的外观。

感谢您的任何建议!

【问题讨论】:

你想让 imageView 看起来像你图片中的样子吗?所以它垂直居中?或者,您真的希望图像中的“心脏”位于右下角吗?您是通过代码执行此操作吗?这是表格视图单元格原型吗? @DonMag 我希望它位于右下角。这是一个视图单元原型。 【参考方案1】:

你应该能够很容易地得到你想要的结果。

将您的堆栈视图限制在所有 4 个侧面,使用您想要的顶部/底部和左/右“填充”。

为您的图像视图设置一个宽度约束(我猜您希望它在 24 左右),以及 1:1 的纵横比。这将防止它垂直拉伸。 Content Mode: Aspect Fit

将您的堆栈视图属性设置为:

而且...你应该准备好了。

【讨论】:

以上是关于在不停止 stackView 自动调整大小的情况下对齐图像视图的主要内容,如果未能解决你的问题,请参考以下文章

如何在不指定估计行高的情况下使用 iOS 自动调整单元格大小?

具有自动布局的多行UILabel,如何在不更改标签框架的情况下根据内容调整字体大小?

有没有办法在不删除视图并重新添加的情况下更新 StackView 中的视图?

如何停止 Xamarin Android StackView 元素中的项目重叠?

如何自动调整可可 xcode 的大小?

在不损失质量的情况下调整图像大小