【发布时间】:2015-05-29 13:29:07
【问题描述】:
我正在使用 UIKit 中的 drawInRect 来绘制一个字符串。我还想绘制(查看)绘制字符串的边界矩形(有点像在盒子里有一个字符串)。如何做到这一点?
【问题讨论】:
我正在使用 UIKit 中的 drawInRect 来绘制一个字符串。我还想绘制(查看)绘制字符串的边界矩形(有点像在盒子里有一个字符串)。如何做到这一点?
【问题讨论】:
drawInRect UIKit 方法返回一个CGSize,它是绘制字符串的大小。将此与您传递给drawInRect 的CGRect 的原点一起使用,这就是您要绘制的矩形。
CGSize size = [string drawInRect:rect .... plus your options];
CGRect boundingRect = rect;
boundingRect.size = size;
[[UIBezierPath bezierPathWithRect:boundingRect] stroke];
【讨论】:
drawinRect 不再返回 CGSize,所以根据 jrturton 的帖子,我使用类似这样的东西来获得一个完全围绕字符串内容绘制的框 -
[str1 drawInRect:rect withAttributes:attributes];
CGRect boundingRect = [str1 boundingRectWithSize:rect.size options:NSLineBreakByWordWrapping | NSStringDrawingUsesLineFragmentOrigin attributes:attributes context:nil];
boundingRect.origin.x = rect.origin.x;
boundingRect.origin.y = rect.origin.y;
[[UIBezierPath bezierPathWithRect:boundingRect] stroke];
【讨论】: