NSAttributedString 的boundingRectWithSize 返回错误的大小

2023-12-08

我试图获取属性字符串的矩形,但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以下,则不会换行,因此请确保装订尺寸正确,否则仍然会得到错误的结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NSAttributedString 的boundingRectWithSize 返回错误的大小 的相关文章

随机推荐