从多行标签中获取第一行 - objective c

get first line from multi line label - objective c

我有多行标签,它的框架会根据文本长度适当变化。当我得到标签的宽度时,它会计算整个标签宽度,而我只想要第一行宽度。 我正在使用此代码获取每一行。

NSArray *linesArray = [self getLinesArrayOfStringInLabel:label]; 

当文本太长时,它可以正常工作,但当文本太短时,它会在第二行和标签中打断行的最后一个单词,它会显示单行。

数组是

linesArray = (
    " this is multiline label. I want just first ",
    "line."
)

这是怎么回事??

您可以使用以下方法获取标签的动态大小

//label is UILabel
CGSize expectedLabelSize = [label.text boundingRectWithSize:self.view.frame.size
                                       options:NSStringDrawingUsesLineFragmentOrigin
                                       attributes:@{NSFontAttributeName:[UIFont fontWithName:@"Font you are using" size:<size of font>]}
                                       context:nil].size;

您可以使用 size 作为宽度和高度。