【发布时间】:2017-05-31 23:33:56
【问题描述】:
我有许多 UILabel,所有这些都将 adjustsFontSizeToFitWidth 设置为 true。它们都是不同的大小,其中的文本长度也会不同,所以本质上每个标签中的文本大小可以是任意的。
我的目标是让它们的文本大小相同,以便在每个标签确定其文本必须有多小才能适合之后,它们都将文本大小调整为其中最小字体大小的大小UILabel。这是最大的字体大小,足以容纳每个标签的文本。
我也考虑过为每个标签手动计算允许其文本适合的最大字体大小,然后将每个标签的字体大小设置为这些字体大小中的最小者,但我不知道该怎么做这个计算。
【问题讨论】:
-
您能否遍历子视图 - 仅检查 UILabels - 拉出字体大小 - 然后再次循环,将每个标签设置为您需要的字体大小?
-
您可能需要手动计算。我刚刚对我的建议进行了测试,似乎调整为适合的字体大小未反映在 UILabel.font.pointSize 值中。他们都在 17 岁时回来了。:-/
-
@dfd 我认为是的,缩小后显示的字体大小与标签字体中存储的字体大小无关(除了它不大于)。您知道如何计算单元格布局文本之前的最终大小吗?这将解决我的问题。
-
很遗憾没有。我有一些代码——去年丢失了——计算字体大小的宽度(可能是谷歌搜索)——但它丢失了。但是,请查看此链接:stackoverflow.com/questions/8812192/…。列出的第二个答案是承诺计算文本的高度/宽度,而不需要太多的试验和错误来达到“完美”的字体大小。我将为此添加书签以供将来参考。