Проблема, с которой я сталкиваюсь сейчас, заключается в том, что после того, как я нарисую точки и линии CAShapeLayer, мне нужно изменить оба цвета, изменив их в разных областях. Регионы, которые я установил прямо сейчас, имеют четыре части, а ниже приведены коды образцов:Рисовать линию Цвет слоя CAShapeLayer по прямоугольной области
- (void)drawChartWithRecord:(Chart *)Chart
lineWidth:(CGFloat)lineWidth
radius:(CGFloat)radius
interval:(CGFloat)interval
rect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
float start_angle = 0;
float end_angle = (float) (2 * M_PI);
CAShapeLayer *avg = [CAShapeLayer layer];
avg.path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(X,Y) radius:radius startAngle:start_angle endAngle:end_angle clockwise:YES].CGPath;
CGContextMoveToPoint(context, X, Y);
CGContextAddLineToPoint(context, pastX, pastY);
CGContextSetStrokeColorWithColor(context, LINE_COLOR);
CGContextSetLineWidth(context, lineWidth);
CGContextStrokePath(context);
[self.layer addSublayer:avg];
}
После кода линии и точек; однако я не обнаружил никакого способа импортировать прямоугольник в тот же CAShapeLayer. Если я делаю новый слой
CAShapeLayer *mask = [CAShapeLayer layer];
Там будет проблема, если я использую
[self.layer addSublayer:mask];
Два из подслоя смешивались, и я не хочу, чтобы изменить цвет фона.
Спасибо за помощь каждого:)