在快速图表中获取圆的位置

问题描述 投票:0回答:1

我正在使用swift charts制作折线图。我在最后一个值上绘制了一个圆,但是我想获取该圆的位置,以便可以向其添加动画。在图表中可以吗?

My Chart

func setupIntradayLine(data: [ChartDataEntry], percentChange: Double) -> LineChartDataSet {
    let line = LineChartDataSet(entries: data)
    line.colors = [.white]
    line.lineWidth = 2.0
    line.mode = .linear
    line.drawHorizontalHighlightIndicatorEnabled = false
    line.highlightColor = .softWhite
    var colors = [UIColor]()
    for i in 0..<data.count {
        if(i == data.count - 1) {
            colors.append(UIColor.white)
        } else {
            colors.append(UIColor.clear)
        }
    }
    line.circleColors = colors
    line.circleHoleRadius = 0
    line.circleRadius = 3.5
    line.drawCirclesEnabled = true
    return line
}
ios swift xcode ios-charts
1个回答
0
投票

首先:我认为这段代码不仅为最后一个条目,而且为每个条目生成圆圈,因为此行:

line.drawCirclesEnabled = true

现在回答您的问题,ChartViewDelegate中有一个方法,当用户选择一个值时会调用该方法:

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

}

您可以获得圆的位置(或实际上是指向所选值的荧光笔):

let x = highlight.xPx
let y = highlight.yPx

您可以使用它们来使您的自定义视图或与该圈子相关的任何内容居中。

© www.soinside.com 2019 - 2024. All rights reserved.