UIBezierPath圆边?

时间:2013-08-10 23:35:06

标签: ios drawing uibezierpath

我画了一些线条,我注意到当边缘达到某个角度时,会产生如下的尖锐边缘:pointy edge

我想要绘制的内容:round edge

我该怎么做?我查看了文档,但我似乎找不到任何我正在寻找的东西。或者有没有办法关闭自动边缘生成?

3 个答案:

答案 0 :(得分:23)

UIBezierPath有一个名为lineJoinStyle的属性。将其设置为kCGLineJoinRound,它将根据您的需要绘制。

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

答案 1 :(得分:5)

可以通过以下方式在Swift中调用UIBezierPath上的

kCGLineJoinRound属性:

myPath.lineJoinStyle = .round

答案 2 :(得分:3)

在描边路径之前,使用CGContextSetLineJoin将绘图上下文的连接参数设置为kCGLineJoinRound。这在Quartz 2D Programming Guide

中有记录

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