2011-11-23 16 views
8

Próbuję zmienić fillColor of CAShapeLayer po dotknięciu warstwy , w której się on znajduje. jestem w stanie zmienić kolor tła gwintowany warstwy tak:change fillColor of selected CAShapeLayer

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

Włącza tło „warstwa” niebieskiej, jak oczekiwano. Mój problem polega na tym, jak zmienić kolor CAShapelayer w "warstwie"? Dzięki!

Odpowiedz

14

CAShapeLayer ma właściwość, fillColor, które można przekazać w CGColor zmienić:

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

Patrz także: CAShapeLayer Class Reference