我如何在切割层的圆圈上添加圆圈?

时间:2015-03-31 14:52:53

标签: ios uiview uikit subclass geometry

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

enter image description here

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

1 个答案:

答案 0 :(得分:2)

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

enter image description here

这实际上是三个圈子:

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

  • 较大的圆角,用于“擦除”第一个圆圈的右上角

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

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

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