首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NSAttributedString的boundingRectWithSize返回错误的大小

NSAttributedString的boundingRectWithSize返回错误的大小
EN

Stack Overflow用户
提问于 2012-11-29 15:48:50
回答 19查看 130.3K关注 0票数 158

我正在尝试获取一个属性字符串的rect,但是boundingRectWithSize调用没有考虑到我传入的大小,并且返回一个单行高度的rect,而不是一个很大的高度(它是一个很长的字符串)。我在下面的代码中尝试了传入一个非常大的高度值和0,但返回的rect总是相同的。

代码语言:javascript
运行
复制
CGRect paragraphRect = [attributedText boundingRectWithSize:CGSizeMake(300,0.0)
  options:NSStringDrawingUsesDeviceMetrics
  context:nil];

这是不是坏了,或者我需要做一些其他的事情来让它返回一个包装文本的rect?

EN

Stack Overflow用户

发布于 2014-12-04 16:25:37

由于某些原因,boundingRectWithSize总是返回错误的大小。我想出了一个解决方案。有一个用于UItextView -sizeThatFits的方法,它返回文本集的适当大小。因此,不使用boundingRectWithSize,而是创建一个具有随机帧的UITextView,并使用相应的宽度和CGFLOAT_MAX高度调用其sizeThatFits。它返回具有适当高度的大小。

代码语言:javascript
运行
复制
   UITextView *view=[[UITextView alloc] initWithFrame:CGRectMake(0, 0, width, 10)];   
   view.text=text;
   CGSize size=[view sizeThatFits:CGSizeMake(width, CGFLOAT_MAX)];
   height=size.height; 

如果你在while循环中计算大小,不要忘了在自动释放池中添加,因为将有n个UITextView创建,如果我们不使用自动释放池,应用程序的运行时内存将增加。

票数 51
EN
查看全部 19 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13621084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档