当文本不适合多行(numberOfLines = 0)标签的一行时,我试图阻止文本换行,但是要做到这一点,我需要知道可以在标签的一行中容纳多少个字符,以便于剪切剩下的,只需使用“\ n”将下一个字符串添加到下一行。我将如何查找每行上可以容纳多少个字符以及我的字体和标签的大小(顺便说一下,Courier 17.0等距)。标签的大小也可以是动态的,因为像屏幕大小/大小类一样可以更改,这就是为什么需要这样做的原因。

我想发生的事情以及为什么我需要知道适合多少个字符
在一行上:

var lineOne = "Too long"
var lineTwo = "Also too long"
myLabel.text = lineOne + "\n" + lineTwo
// Then I would calculate how many characters can fit on a line and alter the two strings accordingly

标签的输出(假装标签字符限制恰好类似于3):
Too
Als

我刚刚意识到,我需要计算的另一件事是,如果numberOfLines = 0,则标签(高度)中可以容纳多少行。

最佳答案

我认为您不需要以编程方式进行操作。
为此,请选择标签,然后在“属性”检查器中更改
Line BreakCharacter Wrap
然后将Lines更改为要允许的最大行数。

您可以相应地增加高度和宽度的约束。然后使用<labelOutlet>.sizeToFit();

关于ios - 计算一个UILabel的一行上可以容纳多少个字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39378480/

10-11 22:50
查看更多