UIBezierPath如何实现圆角边缘?

12

我正在绘制一些线条,注意到当边缘达到一定角度时会生成一个尖锐的边缘,如下图所示:pointy edge

我想要绘制的是这样的效果:round edge

我该怎么做?我已经查看了文档,但似乎没有找到我想要的内容。或者有没有一种方法可以关闭自动生成边缘的功能?

3个回答

25

UIBezierPath有一个叫做lineJoinStyle的属性。将其设置为kCGLineJoinRound,它会按照你想要的方式进行绘制。

UIBezierPath *myPath = ...
myPath.lineJoinStyle = kCGLineJoinRound;

哇,给你一百万分!十年后这个超级有价值。谢谢。 - Patrick Lynch

7
在Swift中,可以通过以下方式调用UIBezierPath的kCGLineJoinRound属性:
myPath.lineJoinStyle = .round

3
使用CGContextSetLineJoin函数将绘图上下文的线段连接参数设置为kCGLineJoinRound, 然后在绘制路径之前进行描边。这在Quartz 2D编程指南中有记录。

如果您正在绘制UIBezierPath,则还可以设置路径的lineJoinStyle属性,这可能更容易。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接