2017-10-04 140 views
2

我畫了一條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

回答

1

你需要屏蔽設置綁定爲「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