如何在带有切割层的圆上添加圆?

How I add circle on circle with cutting layer?

我的意思是我有一个大圆圈和一个小圆圈的自定义视图。但是我怎么能切一个大圆的角(层)呢?背景是父视图的,不是自定义的,颜色清晰

我的自定义视图中添加了图标、名称标签和标签通知。所以,两个相交的圆圈仍然存在问题。

我在上面的评论中提出了三种方法。这是其中一个的演示。请注意,我并没有真正进行数学计算或尝试近似您的绘图:这只是原理的演示:

这实际上是三个圆圈:

  • 左下方的大中心圆圈(绿色)

  • 大角圆,用于"erase"第一个圆的右上角

  • 左上角第二个较小的角圆(绿色)

这是生成该图的代码(忽略数字;重要的是原则):

CGContextSetFillColorWithColor(con, UIColor.greenColor().CGColor)
CGContextFillEllipseInRect(con, CGRectMake(0,rect.height-130-10,130,130))

CGContextSetFillColorWithColor(con, UIColor.clearColor().CGColor)
CGContextSetBlendMode(con, kCGBlendModeClear) // erase
CGContextFillEllipseInRect(con, CGRectMake(rect.width-65, -5, 70, 70))

CGContextSetFillColorWithColor(con, UIColor.greenColor().CGColor)
CGContextSetBlendMode(con, kCGBlendModeNormal)
CGContextFillEllipseInRect(con, CGRectMake(rect.width-53,3,50,50))