汤姆如何在我的应用程序中在swift 4中显示3D饼图

问题描述 投票:-2回答:1

我试图在我的应用程序中显示一个3D饼图在swift 4.但找不到任何解决方案。有人帮我或给我任何建议吗?

ios swift pie-chart
1个回答
0
投票
private func createPieChart() -> SCNNode {
    let aNode = SCNNode()
    var total:Float = 0.0
    //let numRows = data.numberOfRows()
    let numColumns = data.numberOfColums()

    let i = 0
    for j in 0 ..< numColumns {
        let val = data.valueForIndexPath(row:i, column: j)
        total = total + val
    }

    var startDeg:Float = 0.0
    var startRad:Float = 0.0
    for j in 0 ..< numColumns {
        let val = data.valueForIndexPath(row:i, column: j)
        let pct = val*360.0/total
        startRad = Float(startDeg) * Float(M_PI) / Float(180.0)
        let endDeg = startDeg + pct - 1.0
        let endRad:Float = Float(endDeg) * Float(M_PI) / Float(180.0)
        let circlePath = UIBezierPath()
        circlePath.move(to: CGPoint.zero)
        circlePath.addArc(withCenter: CGPoint.zero, radius: 20.0, startAngle:CGFloat(startRad), endAngle: CGFloat(endRad), clockwise: true)
        startDeg = endDeg + 1
        let node = SCNNode(geometry: SCNShape(path:circlePath, extrusionDepth: 5.0))
        node.geometry?.firstMaterial?.diffuse.contents = data.colorForIndexPath(row: i, column: j)
        aNode.addChildNode(node)

    }

    return aNode
}
© www.soinside.com 2019 - 2024. All rights reserved.