Reputation: 1453
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
Reputation: 7485
You have to set isUserInteractionEnabled
childrenPieChart.isUserInteractionEnabled = true
Upvotes: 1
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