当文本有多行时,在UILabel中查找属性文本的宽度

时间:2016-10-26 15:34:36

标签: ios objective-c nsstring uilabel nsattributedstring

我在UILabel中有多行属性文本,我想找到宽度。这样做的目的是调整不同设备的字体大小。为此,我检查带换行符的文本是否适合给定的空格。我已经尝试了text.size.width,但这会给出宽度,好像文本占用了一行。

1 个答案:

答案 0 :(得分:2)

试试这个解决方案:

这里我们得到整个NSAttributedString

的大小
 CGRect paragraphRect =
      [attributedText boundingRectWithSize:CGSizeMake(300.f, CGFLOAT_MAX)
      options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading)
      context:nil];

然后,您可以使用它来查找NSAttributedString的宽度 希望这会帮助你。