2013-08-20 49 views
2

Image with line width 0.5 Image with line width 1.0CGPath行程線寬不一致CAShapeLayer

左邊的圖像具有0.5的線寬。右側的圖像具有1.0的線寬。我希望左側圖像線的寬度始終如一,就像正確的圖像一樣。

我正在向CGMutablePath添加行,但是當我將它添加到我的shapelayer時,lineWidths不一致,因爲您可以在圖像中看到。

這裏是我的代碼

shapeLayer.strokeColor = [UIColor redColor].CGColor; 
shapeLayer.lineWidth = 0.5; 
shapeLayer.fillColor = nil; 
shapeLayer.miterLimit = 0; 
shapeLayer.path = path; 

任何幫助,不勝感激!

+0

奇怪的是,它看起來與線寬1一致。 – seabass

+0

在解決問題方面有運氣嗎?我遇到了同樣的問題。 – tsp

回答

1

我自己遇到了同樣的問題。後來我發現這個問題是這行代碼:

shapeLayer.lineCap = kCALineCapSquare; 

就引起了線的寬度成爲每一個方向上增加了一倍,左,右,頂部和底部。

如果它被設置爲lineWidth = 2,其寬度將爲其左右+1。頂部和底部爲+1。

解決這個問題的方法是將lineCap保留。使用默認值:kCALineCapButt