计算UILabel

时间:2016-09-07 20:28:59

标签: ios swift string character linewrap

我试图阻止文本在不适合多行(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,那么标签(高度)可以容纳多少行。

1 个答案:

答案 0 :(得分:0)

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

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