Изменяющаяся ширина строки в CAShapeLayer - PullRequest
4 голосов
/ 21 октября 2011

Я работаю над небольшим проектом, в котором я хочу нарисовать кривую Безье.Я хочу иметь возможность изменять lineWidth в разных частях чертежа.

Вот что у меня есть:

CAShapeLayer *pathLayer = [CAShapeLayer layer];
pathLayer.frame = self.animationLayer.bounds;
pathLayer.bounds = pathRect;
pathLayer.geometryFlipped = YES;
pathLayer.path = path.CGPath;
pathLayer.strokeColor = [[UIColor blackColor] CGColor];
pathLayer.fillColor = nil;
pathLayer.lineWidth = 1.0f;
pathLayer.lineJoin = kCALineJoinBevel;

Как бы я изменил ширину линии?Одним из решений может быть наличие нескольких UIBezierPath с несколькими CAShapeLayer с, но, похоже, должно быть более простое и элегантное решение (что-то вроде указания lineWidth на уровне, где UIBezierPath строкиуказаны).

Спасибо!

1 Ответ

6 голосов
/ 21 октября 2011

UIBezierPath имеет только одно свойство lineWidth, поэтому невозможно нарисовать линии различной ширины одним путем. Для достижения этого эффекта вам придется использовать несколько путей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...