直线在180度路径中时出现意外的LineJoinStyle行为 [英] Unexpected LineJoinStyle behavior when lines in path at 180 degrees

查看:143
本文介绍了直线在180度路径中时出现意外的LineJoinStyle行为的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当一行刚好回到上一行时,我在UIBezierPath中得到了一个裁剪的LineJoin。如果我将第二行调整一个像素,则LineJoin的行为将达到预期。代码如下:

I'm getting a clipped LineJoin in a UIBezierPath when one line comes back exactly over the previous line. If I adjust the second line by one pixel, the LineJoin behaves as expected. Here's the code:

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取整? (不用弄乱点)

Is this a bug? If not, is there some way to get the top path LineJoin to be rounded? (without fudging the points)

当我从触摸输入创建UIBezierPath时出现了这种情况,而有时又会乱涂乱画。

This came up when I made a UIBezierPath from 'touch-input', and while scribbling around sometimes this happened.

推荐答案

此问题已在iOS 7中修复。
Open Radar也已更新。

This is fixed in iOS 7. Open Radar also updated.

这篇关于直线在180度路径中时出现意外的LineJoinStyle行为的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆