danielgindi / Charts饼图选择指数

时间:2016-11-29 05:38:56

标签: ios charts swift3 pie-chart

我正在使用Charts绘制饼图。它工作正常,但我需要将选定的部分索引传递给下一个viewcontroller。我使用下面的代码,并为图表3.0阅读他们的release notes。我在Swift 3中工作。在以前的版本中,所选索引来自entry.dataSetIndex。

通过这段代码我总是得到0索引。请帮忙。

extension ViewController: ChartViewDelegate {

    func chartValueSelected(_ chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight) {

        print(highlight.dataSetIndex)
    }

}

1 个答案:

答案 0 :(得分:10)

使用iOS Charts 3.0.0,以下代码输出所选索引:

class ChartController: UIViewController, ChartViewDelegate {

func chartValueSelected(_ chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight) {

    if let dataSet = chartView.data?.dataSets[ highlight.dataSetIndex] {

        let sliceIndex: Int = dataSet.entryIndex( entry: entry)
        print( "Selected slice index: \( sliceIndex)")
    }
}

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear( animated)

    // 1. create chart view
    let chart = PieChartView( frame: self.view.frame)
    chart.delegate = self

    // TODO: exercise for reader...add data, styles, etc.
}