objective-c - NSAttributedString 的 boundingRectWithSize 返回错误的大小

标签 objective-c nsattributedstring

我正在尝试获取属性字符串的矩形,但 boundingRectWithSize 调用不尊重我传入的大小,并返回一个具有单行高度而不是大高度的矩形(它是一个长字符串) .我已经通过传入一个非常大的高度值和下面的代码中的 0 进行了实验,但是返回的矩形总是相同的。

CGRect paragraphRect = [attributedText boundingRectWithSize:CGSizeMake(300,0.0)
  options:NSStringDrawingUsesDeviceMetrics
  context:nil];

这是坏了,还是我需要做其他事情才能让它返回一个用于包装文本的矩形?

最佳答案

您似乎没有提供正确的选项。对于包装标签,至少提供:

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

注意:如果原始文本宽度在300.f以下不会换行,所以请确保绑定(bind)大小正确,否则仍然会得到错误的结果。

关于objective-c - NSAttributedString 的 boundingRectWithSize 返回错误的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13621084/

相关文章:

objective-c - 如何在 tvOS 中获取 Apple TV 设备的当前位置

ios - 更改不同iOS版本的UITableViewStyle

swift - 如何在 UITextField 占位符字符之间添加空格?

ios - 在 iOS 9 中点击 UITextView 中的 NSLinkAttributeName 链接不起作用

swift - 如何将 NSNumberFormatter 与 AttributedString 一起使用?

ios - 如何让 UITextView 中的光标反射(reflect)段落对齐的更新 typingAttributes?

objective-c - "The dwarfdump binary must exist and must be executable"是什么意思?

iOS - 如何从容器 View 访问变量并将其传递回 View Controller

ios - 将对象从 Parse 添加到 UITableView 错误的数组

swift 。向多个实例添加属性