2011-11-23 5 views
8

Estoy tratando de cambiar el fillColor de un CAShapeLayer cuando se toca la capa en la que está contenida. soy capaz de cambiar el color de fondo de la capa aprovechado como esto:cambiar fillColor de CAShapeLayer seleccionado

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

Esto convierte el fondo de la "capa" azul como se esperaba. Mi problema es cómo puedo cambiar el color de CAShapelayer dentro de "capa"? Gracias!

Respuesta

14

Un CAShapeLayer tiene una propiedad, fillColor, que puede pasar en un CGColor a cambiar:

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

Ver también: CAShapeLayer Class Reference

Cuestiones relacionadas