2014-04-09 115 views
0

如何使用CAShapeLayer繪製一個完美的帶有內徑和外徑的甜甜圈?CAShapeLayer/CGPath - 繪製甜甜圈

或者更好地問:如何繪製一個有洞的圓,以便筆劃是兩條分開的線。一個在內圈,另一個在外圈。所有我迄今所取得的是內外圈的行程連接,這是我想避免:

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); 

回答

2

您可以創建具有兩個圓(外和內半徑)的路徑添加到它。然後,您可以將形狀圖層的fillMode設置爲kCAFillRuleEvenOdd

+0

謝謝你,工作! – Max