danielgindi/Charts 饼图选中索引

5
我正在使用 Charts 来绘制饼图。它可以正常工作,但我需要将所选部分的索引传递给下一个视图控制器。我使用了以下代码,并阅读了他们的 Charts 3.0 发布说明。我正在使用 Swift 3。在之前的版本中,所选索引是从 entry.dataSetIndex 中获取的。
然而,使用此代码时我总是得到 0 索引。请问有什么帮助吗?
extension ViewController: ChartViewDelegate {

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

        print(highlight.dataSetIndex)
    }

}
1个回答

12

使用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.
}

非常感谢您的回答,它为我节省了时间。 非常感谢您的帖子。 - Gautam Sareriya
对于堆叠条形图,还需要 highlight.stackIndex - ober

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接