UILabel 高度取决于字体大小
UILabel height depending on font size
我在 UITableViewCell
中使用 UILabel
来显示标题。通常文本不会太长,因此字体可以很大。请注意文本如何像正常情况一样填充 UILabel
的高度。
但是,当有较大的标题时,我希望降低 UILabel
高度以适应较小的字体大小,而不是在其位置留下空白。目前,我的配置产生了这种效果。
我在情节提要中使用了约束,并故意不设置固定的高度约束。以下是添加的相关约束:
我可能在我的配置中犯了一个菜鸟错误,因为我不记得以前发生过这种效果,但这让我很头疼(而且看起来很糟糕 UI)。
删除 Top Space
或 Bottom Space
约束(取决于您希望标签锚定的位置)。
这将导致标签自动适应文本大小。
试试看,它应该能满足您的需要:
设置顶部和底部约束属性 Greater Than or Equal To
并添加水平中心(Alight Center Y to superview)并显示在此图像中。
当UILabel
设置为自动调整字体大小以适应时,它不会自动调整高度本身。
您有几个选择:
将基线设置为居中对齐,并接受顶部和底部填充
使用代码计算"scaled font size"并更新标签的字体大小
我在 UITableViewCell
中使用 UILabel
来显示标题。通常文本不会太长,因此字体可以很大。请注意文本如何像正常情况一样填充 UILabel
的高度。
但是,当有较大的标题时,我希望降低 UILabel
高度以适应较小的字体大小,而不是在其位置留下空白。目前,我的配置产生了这种效果。
我在情节提要中使用了约束,并故意不设置固定的高度约束。以下是添加的相关约束:
我可能在我的配置中犯了一个菜鸟错误,因为我不记得以前发生过这种效果,但这让我很头疼(而且看起来很糟糕 UI)。
删除 Top Space
或 Bottom Space
约束(取决于您希望标签锚定的位置)。
这将导致标签自动适应文本大小。
试试看,它应该能满足您的需要:
设置顶部和底部约束属性 Greater Than or Equal To
并添加水平中心(Alight Center Y to superview)并显示在此图像中。
当UILabel
设置为自动调整字体大小以适应时,它不会自动调整高度本身。
您有几个选择:
将基线设置为居中对齐,并接受顶部和底部填充
使用代码计算"scaled font size"并更新标签的字体大小