Xcoder
Xcoder

Reputation: 1453

Pie chart isn't drag-able

I am trying to create a pie chart using iOS Charts, and I know that the default setting for the pie chart is for it to be able to let the user drag the pie chart around and look at it from a different angle.

However, it doesn't seem to work here:

func createChildrenPieChart(sections: [String], percents: [Double]) {
    var dataEntries = [ChartDataEntry]()


    for i in 0...(sections.count - 1) {
        let entry = PieChartDataEntry()
        entry.y = percents[i]
        entry.label = sections[i]
        dataEntries.append(entry)


    }

    let chartDataSet = PieChartDataSet(values: dataEntries, label: "")
    let chartData = PieChartData(dataSet: chartDataSet)

    childrenPieChart.data = chartData

    var colors: [UIColor] = []

    for _ in 0..<sections.count {
        let red = Double(arc4random_uniform(256))
        let green = Double(arc4random_uniform(256))
        let blue = Double(arc4random_uniform(256))

        let color = UIColor(red: CGFloat(red/255), green: CGFloat(green/255), blue: CGFloat(blue/255), alpha: 1)
        colors.append(color)
    }

    chartDataSet.colors = colors
}

Any help would be appreciated, and I am using Xcode 9, Swift 4.0

Upvotes: 0

Views: 300

Answers (2)

Vini App
Vini App

Reputation: 7485

You have to set isUserInteractionEnabled

childrenPieChart.isUserInteractionEnabled = true

Upvotes: 1

DevB2F
DevB2F

Reputation: 5095

I have a functioning pieChart where users can rotate, you can try adding this:

    childrenPieChart.rotationEnabled = true
    childrenPieChart.highlightPerTapEnabled = true        
    childrenPieChart.maxAngle = 360.0
    childrenPieChart.isUserInteractionEnabled = true
    childrenPieChart.rotationAngle = 180.0

Upvotes: 1

Related Questions