2

线宽 0.5 的图像 线宽为 1.0 的图像

左侧图像的线宽为 0.5。右侧图像的线宽为 1.0。我希望左边的图像线像右边的图像一样宽。

我正在向 CGMutablePath 添加线,但是当我将它添加到我的 shapelayer 时,线宽不一致,如您在图像中看到的那样。

这是我的代码

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

任何帮助是极大的赞赏!

4

1 回答 1

1

我自己也遇到了同样的问题。后来我发现问题出在这行代码:

shapeLayer.lineCap = kCALineCapSquare;

它导致线的宽度在各个方向(左、右、顶部和底部)都增加了一倍。

如果它被设置为lineWidth = 2,它的宽度将在它的左边和右边+1。+1 到它的顶部和底部。

解决这个问题的方法是离开lineCap。使用默认值:kCALineCapButt

于 2014-06-04T04:38:37.533 回答