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 高度