虽然在iOS的UIView中绘制矩形,但我仍然遇到同样的问题:矩形边距将它们的颜色与背景混合在一起。我尝试了几个具有相同结果的矩形绘图方法 - 使用贝塞尔路径,逐行绘制边框,并填充矩形的内部。如何在绘制矩形时避免颜色混合?
视图的框架本身总是正确绘制。每当我需要一个矩形时,我甚至考虑过使用视图,但是这看起来并不是正确的方式来做特别的事情,因为我需要画很多东西。
这是我的问题的一个例子。为了便于比较,我画一个长方形的绿色视图与同尺寸:
CGRect horizontalBar = CGRectMake(2, 2, 10, 6);
UIView* horizontalBarSubView = [[UIView alloc] initWithFrame:horizontalBar];
horizontalBarSubView.backgroundColor = [UIColor greenColor];
[self addSubview:horizontalBarSubView];
[horizontalBarSubView release];
而对于矩形本身:
CGRect horizontalBar = CGRectMake(2, 20, 10, 6);
UIBezierPath* horizontalBarPath = [UIBezierPath bezierPathWithRect:horizontalBar];
[[UIColor greenColor] set];
[horizontalBarPath fill];
这挥动以下结果(10倍变焦):
是什么导致颜色混合?
我该如何避免这种情况?
你说得对,我正在绘制一个视图,该视图已经在两个轴上都设置了半像素。 – rahzark 2012-02-03 10:36:07