CAShapeLayer / CGPath - 画甜甜圈

时间:2014-04-09 17:22:31

标签: drawing core-animation geometry cashapelayer

如何使用CAShapeLayer绘制内径和外径的完美甜甜圈?

或者更好地问:如何绘制一个带有洞的圆圈,以便笔划是两条单独的线条。一个在内圈,一个在外圈。到目前为止我所取得的成就是内圈和外圈的笔划是连接的,我想避免这种情况:

    CGPathAddArc( _path, NULL, _center.x, _center.y, 100, 0, M_PI * 2.0f, NO);
    CGPathRef temp = CGPathCreateCopyByStrokingPath(_path, &_transform, 10, kCGLineCapButt, kCGLineJoinMiter, 10);

    _path = CGPathCreateMutableCopy(temp);

1 个答案:

答案 0 :(得分:4)

您可以创建一个添加了两个圆(外半径和内半径)的路径。然后,您可以将形状图层的fillMode设置为kCAFillRuleEvenOdd