首页 > 解决方案 > 使用 CoreGraphics 绘制动态饼图段

问题描述

我正在尝试编写一个函数,该函数采用起始弧度值、结束弧度值和颜色,并使用提供的值绘制圆段。

private func drawAnArc(using context: CGContext, start: Int, end: Int, color: CGColor) {
            
            //set center point
            let centerPoint = CGPoint(x: bounds.size.width/2, y: bounds.size.height/2)
            
            //convert Ints To Radians
            let startRad = ((CGFloat(start) * CGFloat.pi) / 21600) - (CGFloat.pi / 2)
            let endRad = ((CGFloat(end) * CGFloat.pi) / 21600) - (CGFloat.pi / 2)
            
            context.addArc(center: centerPoint, radius: ((bounds.size.width/2) - 8), startAngle: startRad, endAngle: endRad, clockwise: false)
            
            context.setLineWidth(7.00)
            
            context.setStrokeColor(color)
            
            context.strokePath()
            
        }

使用此代码,我可以获得如下所示的弧线: 描述

我正在尝试将每条弧线变成一个饼图(指向圆的中心)。任何帮助将不胜感激!

标签: swiftgeometrycore-graphics

解决方案


推荐阅读