【问题标题】:Create a complex CGRect创建一个复杂的 CGRect
【发布时间】:2012-03-24 14:05:17
【问题描述】:

我在该方法上绘制了一个边框为 10 像素的视图。 我需要更新边框颜色并使用[self setNeedsDisplay] 使其重绘 风景。 因为我只需要更新我想要使用的边框:[self setNeedsDisplayInRect:rect] 所以它只会绘制边框。

我怎样才能得到一个只有边框的矩形而不包括视图的其他区域?

谢谢 沙尼

【问题讨论】:

    标签: ios cgrect setneedsdisplayinrect


    【解决方案1】:

    你不能因为CGRect是矩形的,所以它是一个不能有洞的凸形。

    但是你可以把边框分解成四个矩形,调用[self setNeedsDisplayInRect:rect]四次。

    另外,如果你导入QuartzCore,你或许可以使用视图层的borderColor属性:

    #import <QuartzCore/QuartzCore.h>
    
    // ...
    
    view.layer.borderWidth = 10;
    view.layer.borderColor = [UIColor redColor].CGColor;
    
    // And to change it later
    view.layer.borderColor = [UIColor greenColor].CGColor;
    

    【讨论】:

      【解决方案2】:

      您可以在边框的每个部分(顶部、右侧、底部和左侧)周围获得四个 CGRect,并分别调用该方法四次。

      【讨论】:

        猜你喜欢
        • 2015-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-16
        • 2013-06-02
        • 1970-01-01
        相关资源
        最近更新 更多