我正在尝试绘制一个空心圆圈的视图。视图背景颜色为黑色,不透明度为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];
}
这就是它现在的样子。我希望相交的区域也是空心的,而不是用fillColor填充。
答案 0 :(得分:0)
不要填充圆圈,剪掉中心。