UIImageView 高度与 UILabel 字体高度相同。在 UIStackView 内居中

Posted

技术标签:

【中文标题】UIImageView 高度与 UILabel 字体高度相同。在 UIStackView 内居中【英文标题】:UIImageView height same size as UILabel font height. Centered inside UIStackView 【发布时间】:2021-11-04 17:02:38 【问题描述】:

我正在尝试获取一个标签,然后是一个与标签字体高度相同的 imageView,在 stackView 内部居中。

无论出于何种原因,我都不知道如何在 stackView 中获取它。这是我得到的。

【问题讨论】:

“与标签字体高度相同”是什么意思?你的意思是实际的字符字形吗?即“an”/“and”/“AND”/“aj”/“ajd”都有不同的字符高度,但标签框会相同所有这些字符串的高度。 嗨@DonMag 我正在寻找字体大小/点高?图像大小大约是字符大小的东西。 - 类似于第一张图片。 - 理想情况下都在 stackView 中 这不能回答问题...这是您想要的样子吗,标签中有各种不同的字符(标签框以青色背景显示):i.stack.imgur.com/4IXuS.png 嗨@DonMag 这就是我要找的! 好的 - 你不能用 UIStackView 做到这一点。您需要计算字符字形边界框,然后设置图像视图的顶部和高度。 【参考方案1】:

如果标签的字体大小是固定的,则可以得到高度。

(statusLabel.text as! NSString).size(withAttributes: [NSAttributedString.Key.font : statusLabel.font]).height

【讨论】:

以上是关于UIImageView 高度与 UILabel 字体高度相同。在 UIStackView 内居中的主要内容,如果未能解决你的问题,请参考以下文章

约束 UIImageView 高度以尊重 UITableViewCell 中的动态 UILabel 高度

在 UIImageView 上设置顶部约束会导致 UILabel 固定高度

根据 iOS SWIFT 高度更高的 UIImageView 或 UILabel 设置 UITableViewCell 高度

根据单元格高度在 UITableViewCell 内动态设置 UIImageView 高度

UILabel设置行间距和字间距并计算高度-b

iOS--UILabel设置行距和字间距,并根据文本计算高度