从多行标签获得第一行 - 目标c

时间:2016-04-30 08:06:14

标签: ios objective-c arrays uilabel multiline

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

NSArray *linesArray = [self getLinesArrayOfStringInLabel:label]; 

当文字太长时,它可以正常工作,但是当文字很短时,会在第二行中断行第一个单词,在标签中它会显示单行。

enter image description here

和数组是

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

这里出了什么问题?

1 个答案:

答案 0 :(得分:0)

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

//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;

您可以使用尺寸来表示宽度和高度。