您可以使用以下代码:
let path = CGMutablePath() let radius = min(rect.width/2, rect.height/2) let center = CGPoint(x: rect.width/2, y: rect.height/2) path.addEllipse(in: CGRect(x: center.x - radius, y: center.y - radius, width: 2*radius, height: 2*radius)) let path2 = CGMutablePath() path2.addEllipse(in: CGRect(x: center.x - radius/2, y: center.y - radius/2, width: radius, height: radius)) path.addPath(path2) context.addPath(path) context.drawPath(using: .eoFill) //inner part let path3 = CGMutablePath() path3.addEllipse(in: CGRect(x: center.x - radius/2, y: center.y - radius/2, width: radius, height: radius)) context.addPath(path3) context.setFillColor(UIColor.green.cgColor) context.fillPath()