当路径中的线在180度时意外的LineJoinStyle行为

时间:2012-11-16 23:08:21

标签: ios core-graphics uibezierpath

当一行返回到前一行时,我在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];

以下是显示的内容:

enter image description here

这是一个错误吗? 如果没有,有没有办法让顶部路径LineJoin被舍入? (没有捏造积分)

当我从“触摸输入”制作UIBezierPath时出现了这种情况,并且有时会乱涂乱画。

1 个答案:

答案 0 :(得分:3)

这已在iOS 7中修复。 Open Radar也更新了。