如何用CAShaperLayer设置角半径值?
问题描述:
我画了一条UIBeizerPath的垂直线,我需要这条线有一个值为5的拐角半径。我试着记得[pathLayer setCornerRadius: 5];
,但我没有得到结果...你能帮助我吗?我如何分配角半径值?这是我的代码使用如何用CAShaperLayer设置角半径值?
// crea le barre del grafico e gli assegna l'altezza della label y corrispondente
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointMake(xPaddingFromYAxis +spaceBetweenBar *j, 200)];
[path addLineToPoint:CGPointMake(xPaddingFromYAxis +spaceBetweenBar *j, yLabelValue.center.y)];
CAShapeLayer *pathLayer = [CAShapeLayer layer];
pathLayer.frame = self.bounds;
pathLayer.path = path.CGPath;
pathLayer.strokeColor = [UIColor darkGrayColor].CGColor;
pathLayer.fillColor = nil;
pathLayer.lineWidth = 50;
[pathLayer setCornerRadius:5];
pathLayer.masksToBounds = NO;
[scroll.layer addSublayer:pathLayer];
答
你需要屏蔽设置绑定为“YES”。 pathLayer.masksToBounds = YES;
试试这个,看看:
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointMake(xPaddingFromYAxis +spaceBetweenBar *j, 200)];
[path addLineToPoint:CGPointMake(xPaddingFromYAxis +spaceBetweenBar *j, yLabelValue.center.y)];
CAShapeLayer *pathLayer = [CAShapeLayer layer];
pathLayer.frame = self.bounds;
pathLayer.path = path.CGPath;
pathLayer.strokeColor = [UIColor darkGrayColor].CGColor;
pathLayer.fillColor = nil;
pathLayer.lineWidth = 50;
[pathLayer setCornerRadius:5];
pathLayer.masksToBounds = YES;
[scroll.layer addSublayer:pathLayer];
我试着用maskToBound = YES,但是这条线消失,你看不到它了......为什么? – kAiN
你能分享截图吗?有或没有'pathLayer.masksToBounds'?这个对我有用。 – Krunal
我可以错过我创建代码的方式吗?你想让我在pastebin链接中向你展示一切吗? – kAiN