0

我正在尝试绘制一个带有几个空心圆圈的视图。视图背景颜色将为黑色,不透明度为 0.5,并且在我可以看到其下方视图的地方出现空心圆圈。这在下面的代码中运行良好,但是当我的空心圆圈相交时出现问题,我想将它们都覆盖为空心区域,但由于奇怪的规则,这不起作用。有什么建议么?或者有什么替代方案?

- (void)addShadowView {
    UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, self.bounds.size.width, self.bounds.size.height) cornerRadius:0];

    for (NSValue *point in self.hollowFrames) {
        UIBezierPath *circlePath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(point.CGPointValue.x - self.hollowCircleRadius.floatValue, point.CGPointValue.y - self.hollowCircleRadius.floatValue, 2.0 * self.hollowCircleRadius.floatValue, 2.0 * self.hollowCircleRadius.floatValue) cornerRadius:self.hollowCircleRadius.floatValue];

        [path appendPath:circlePath];
    }

    [path setUsesEvenOddFillRule:YES];

    CAShapeLayer *fillLayer = [CAShapeLayer layer];
    fillLayer.path = path.CGPath;
    fillLayer.fillRule = kCAFillRuleEvenOdd;
    fillLayer.fillColor = [UIColor blackColor].CGColor;
    fillLayer.opacity = 0.5;
    [self.layer addSublayer:fillLayer];
}

这就是它现在的样子。我希望相交区域也是空心的,而不是填充填充颜色。

在此处输入图像描述

4

1 回答 1

0

不要填满圆圈,剪掉中心。

于 2013-09-25T03:50:19.853 回答