创建一个复杂的CGRect

时间:2012-03-24 14:05:17

标签: ios cgrect setneedsdisplayinrect

我有一个在方法上绘制了10像素边框的视图。 我需要更新边框颜色,然后使用[self setNeedsDisplay]进行重绘 风景。 由于我只需要更新我想要使用的边框:[self setNeedsDisplayInRect:rect]所以它只会绘制边框。

如何才能获得与视图其他区域无关的矩形?

由于 沙尼

2 个答案:

答案 0 :(得分:2)

你不能因为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;

答案 1 :(得分:0)

你可以在边框的每个部分(顶部,右边,底部和左边)获得四个CGRect,并且每个部分都调用四次。