【问题标题】:How to draw box containing string when using drawInRect?使用drawInRect时如何绘制包含字符串的框?
【发布时间】:2015-05-29 13:29:07
【问题描述】:

我正在使用 UIKit 中的 drawInRect 来绘制一个字符串。我还想绘制(查看)绘制字符串的边界矩形(有点像在盒子里有一个字符串)。如何做到这一点?

【问题讨论】:

    标签: iphone string draw rect


    【解决方案1】:

    drawInRect UIKit 方法返回一个CGSize,它是绘制字符串的大小。将此与您传递给drawInRectCGRect 的原点一起使用,这就是您要绘制的矩形。

    CGSize size = [string drawInRect:rect .... plus your options];
    CGRect boundingRect = rect;
    boundingRect.size = size;
    
    [[UIBezierPath bezierPathWithRect:boundingRect] stroke];
    

    【讨论】:

      【解决方案2】:

      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];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-08
        • 2015-05-20
        • 2019-10-09
        • 1970-01-01
        • 2014-10-07
        相关资源
        最近更新 更多