当一条线完全回到前一行时,我在 UIBezierPath 中得到一个剪裁的 LineJoin。如果我将第二行调整一个像素,则 LineJoin 的行为符合预期。这是代码:
UIBezierPath *path = [UIBezierPath bezierPath];
[path setLineWidth:10.0f];
[path setLineCapStyle:kCGLineCapRound];
[path setLineJoinStyle:kCGLineJoinRound];
[path moveToPoint:CGPointMake(100, 100)];
[path addLineToPoint:CGPointMake(200, 100)];
[path addLineToPoint:CGPointMake(150, 100)];
[path moveToPoint:CGPointMake(100, 120)];
[path addLineToPoint:CGPointMake(200, 120)];
[path addLineToPoint:CGPointMake(150, 121)];
[[UIColor redColor] setStroke];
[path stroke];
这是显示的内容:
这是一个错误吗?如果没有,有没有办法让顶部路径 LineJoin 被舍入?(不捏造要点)
当我从“触摸输入”制作 UIBezierPath 时出现了这种情况,并且有时会在乱涂乱画时发生这种情况。