更改所选CAShapeLayer的fillColor

时间:2011-11-23 17:35:33

标签: iphone objective-c core-animation calayer

我试图改变CAShapeLayer的fillColor 它所包含的图层被触摸了。 我可以像这样更改点击图层的背景颜色:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
CALayer *layer = [(CALayer *)self.view.layer.presentationLayer hitTest:point];
layer = layer.modelLayer;
layer.backgroundColor = [UIColor blueColor].CGColor;
}

这会改变" layer"的背景​​。蓝色如预期。 我的问题是如何更改内部"层"的CAShapelayer的颜色? 谢谢!

1 个答案:

答案 0 :(得分:16)

CAShapeLayer有一个属性fillColor,您可以通过CGColor传递更改:

CAShapeLayer* shapeLayer = (CAShapeLayer*)layer.modelLayer;
shapeLayer.fillColor = [UIColor blueColor].CGColor;

另请参阅:CAShapeLayer Class Reference