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

标签 ios objective-c nsstring uilabel nsattributedstring

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

最佳答案

试试这个解决方案:

在这里,我们得到整个NSAttributedString的大小

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

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

关于ios - 当文本有多行时,在UILabel中查找属性文本的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40266454/

相关文章:

iphone - unarchiveObjectWithFile 需要保留/自动释放吗?

ios - 如何加粗 NSString 中一个字符的多个实例?

objective-c "mutating method sent to immutable object"错误

ios - 从 NSDictionary 检索数据,引号已经在值周围?

ios - 用C语言将数组数据设置为Avro数组类型

ios - 将数据传递到本地 html iOS webview

objective-c - 使用现有的 UINavigationController 在 UIPopoverController 中显示 UIImagePickerController(添加后退按钮)

iOS OCMock 带参数的回调方法

objective-c - 字符串到字符数组

ios - 单元格的 UITableView 处理程序将隐藏