У меня есть прямоугольник, нарисованный с использованием метода drawRect.Добавление пути Безье к CGPath: ObjectiveC
CGContextRef context = UIGraphicsGetCurrentContext();
CGRect outline = CGRectMake(4, 4, width - 8, height - 8);
CGColorRef white = [[UIColor whiteColor] CGColor];
CGColorRef black = [[UIColor blackColor] CGColor];
CGContextSetFillColorWithColor(context, white);
CGContextFillEllipseInRect(context, outline);
CGContextSetLineWidth(context, 2.0f);
CGContextSetStrokeColorWithColor(context, black);
CGContextStrokeEllipseInRect(context, outline);
У меня есть путь безье, нарисованный методом samedrawn rect.
[[UIColor blackColor] setStroke];
[[UIColor whiteColor] setFill];
UIBezierPath * path = [UIBezierPath bezierPath];
[path moveToPoint:point1];
[path addQuadCurveToPoint:point3 controlPoint:point2];
[path addQuadCurveToPoint:point5 controlPoint:point4];
[path setLineWidth:2.0f];
[path stroke];
[path fill];
Мне нужно добавить CALayer над этими двумя формами, чтобы они отображались как единое целое.
aPath = CGPathCreateMutable();
CGPathAddEllipseInRect(aPath, nil, outline);
CGPathCloseSubpath(aPath);
pathCopy = CGPathCreateCopyByTransformingPath(aPath, nil);
myLayer = nil;
myLayer = [CAShapeLayer layer];
myLayer.path = pathCopy;
myLayer.fillColor = [[UIColor whiteColor] CGColor];
[self.layer addSublayer:myLayer];
Проблема в том, что я не могу добавить путь безье к CGPath. Это одно. Другим является то, что я не могу добавить границу границы или ширину границы для слоя, который я создаю. Может ли кто-нибудь помочь?
Зачем вам нужен слой? Почему вы используете 'CGPathCreateCopyByTransformingPath'? Вы посмотрели на 'CGPathAddPath'? – Wain
Да, у меня есть. Но я не знаю, как добавить путь bezier к cgpath, используя этот метод. –