0

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

如何在没有视图其他区域的情况下仅获得边框的矩形?

谢谢沙妮

4

2 回答 2

2

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

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

此外,如果您 import 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;
于 2012-03-24T14:11:40.150 回答
0

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

于 2012-03-24T14:09:03.687 回答