从多行标签中获取第一行 - 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 作为宽度和高度。
我有多行标签,它的框架会根据文本长度适当变化。当我得到标签的宽度时,它会计算整个标签宽度,而我只想要第一行宽度。 我正在使用此代码获取每一行。
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 作为宽度和高度。