我在该方法上绘制了一个边框为 10 像素的视图。我需要更新边框颜色并使用[self setNeedsDisplay]
它来重绘视图。因为我只需要更新我想使用的边框:[self setNeedsDisplayInRect:rect]
所以它只会绘制边框。
如何在没有视图其他区域的情况下仅获得边框的矩形?
谢谢沙妮
我在该方法上绘制了一个边框为 10 像素的视图。我需要更新边框颜色并使用[self setNeedsDisplay]
它来重绘视图。因为我只需要更新我想使用的边框:[self setNeedsDisplayInRect:rect]
所以它只会绘制边框。
如何在没有视图其他区域的情况下仅获得边框的矩形?
谢谢沙妮
你不能,因为 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;
您可以在边框的每个部分(顶部、右侧、底部和左侧)周围获得四个 CGRect,并分别调用该方法四次。