如何在Core Graphics中更改CALayer的填充颜色?

时间:2013-04-11 21:45:14

标签: iphone ios objective-c core-graphics calayer

我有一个形状,一个CALayer,我想添加核心图形效果。现在,我想保持简单并改变它的填充颜色。我怎么能这样做?

3 个答案:

答案 0 :(得分:11)

如果您只想更改整个图层的颜色,可以使用:

layer.backgroundColor = [[UIColor greenColor] CGColor];

如果你有一个更复杂的形状,比如填充的路径,你需要像这样覆盖图层的drawInContext:

- (void)drawInContext:(CGContextRef)context
{
    //...
    CGContextSetFillColorWithColor(context, [[UIColor greenColor] CGColor]);
    CGContextFillPath(context);
    //...
}

有关详细信息,请参阅Quartz 2D Programming Guide

答案 1 :(得分:1)

shape.fillColor = [UIColor blackColor].CGColor;

答案 2 :(得分:0)

我相信

[[UIColor redColor] setFill]正是你要找的。

我没有Xcode打开atm,但如果您尝试填充路径,这应该是正确的方法。