如何用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]; 

enter image description here

你需要屏蔽设置绑定为“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]; 
+0

我试着用maskToBound = YES,但是这条线消失,你看不到它了......为什么? – kAiN

+0

你能分享截图吗?有或没有'pathLayer.masksToBounds'?这个对我有用。 – Krunal

+0

我可以错过我创建代码的方式吗?你想让我在pastebin链接中向你展示一切吗? – kAiN