我正在使用这段代码在UI
ImageView中画一个圆.
CAShapeLayer *circleLayer = [CAShapeLayer layer]; // Give the layer the same bounds as your image view [circleLayer setBounds:CGRectMake(0.0f,0.0f,[photoView bounds].size.width,[photoView bounds].size.height)]; // Position the circle anywhere you like,but this will center it // In the parent layer,which will be your image view's root layer [circleLayer setPosition:CGPointMake(coordsFinal.x + 130,coordsFinal.y + 200)]; // Create a circle path. UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect: CGRectMake(0.0f,50.0f,50.0f)]; // Set the path on the layer [circleLayer setPath:[path CGPath]]; // Set the stroke color [circleLayer setStrokeColor:[color CGColor]]; // Set the stroke line width [circleLayer setLineWidth:2.0f]; // Add the sublayer to the image view's layer tree [[photoView layer] addSublayer:circleLayer];
我希望圈子是空的,只有边界.如何清除填充?
解决方法
将填充颜色设置为透明(alpha 0)
[circleLayer setFillColor:[[UIColor colorWithWhite:0 alpha:0] CGColor]];
AKA …
[circleLayer setFillColor:[[UIColor clearColor] CGColor]];
(谢谢Zev)