gpt4 book ai didi

ios - 如何让 UILabel 更好地调整大小?

转载 作者:行者123 更新时间:2023-11-30 13:26:01 25 4
gpt4 key购买 nike

我试图在给定的最大宽度下使多行 UILabel 尽可能小,但是 sizeToFit()sizeThatFits(_,_) 方法没有给出我想要的结果。

看看这张图片: enter image description here红色矩形代表我在 sizeThatFits 中传递的宽度(高度为 Max)。显然,正如您所看到的,此方法实际上确实返回了适合的尺寸,但它并没有给出我想要的可能的最小尺寸。

假设我指定了 max-width: 300。这个实际结果给了我一个大约的大小。 280*50。正如您在图片中看到的,文本现在是这样写的:

Here is some text that is supposed to
align nicely

我想要实现的是:

Here is some text that is
supposed to align nicely

此结果将具有相同的高度,但宽度要小得多,例如 200*50我意识到很难定义“可能的最小尺寸”,因为它可能会返回:

Here
is
some
text
that
...

或者甚至每行只有一个字母。但鉴于 sizeThatFits 返回这个,并具有给定的宽度和高度,为什么它不返回我想要的结果,即相同的高度,但具有较小的宽度。为什么没有返回最小拟合?有这样的功能吗?

最佳答案

斯蒂,

你可以试试这个哥们:)我一直在用它,看起来效果不错:)

CGRect rect = [yourText boundingRectWithSize:CGSizeMake(maxWidth_you_Can_afford, CGFLOAT_MAX)
options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading)
attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:16]}
context:nil];

执行后的矩形将具有渲染文本所需的最小宽度和高度:)

一旦有了框架,您就可以为标签设置相同的框架并设置文本:)

我在聊天气泡中使用过它:)并且效果很好:)

祝你编码愉快:)

关于ios - 如何让 UILabel 更好地调整大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37187865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com