【发布时间】:2021-03-05 00:29:20
【问题描述】:
使用 iOS 图表(作者 Daniel Gindi https://github.com/danielgindi/Charts)和 SwiftUI,我想从折线图中获取所选值,即用户点击它时突出显示的值。突出显示有效,我可以看到该值的附加行。
经过一番研究,我发现我们必须创建这个函数:chartValueSelected(),但在这种情况下它从未被调用过。我想我必须处理委托,但我没有找到任何使用 SwiftUI 的解决方案或示例。有人可以帮忙吗?谢谢 LineChart
import Foundation
import Charts
import SwiftUI
struct GraphMeterLine : UIViewRepresentable {
var xArray:[Float] = [0,1,2,3,4]
var yArray:[Float] = [0,3,6,2,12]
var data = LineChartData()
let chartline = LineChartView()
func makeUIView(context: Context) -> LineChartView {
return chartline
}
func updateUIView(_ uiView: LineChartView, context: Context) {
//when data changes chartd.data update is required
uiView.data = createGraph()
}
func createGraph() -> LineChartData {
var lineChartEntry = [ChartDataEntry]()
for i in 0..<yArray.count {
let value = ChartDataEntry(x: Double(xArray[i]), y: Double(yArray[i]))
lineChartEntry.append(value)
}
let line1 = LineChartDataSet(entries: lineChartEntry, label: "Number")
data.addDataSet(line1)
data.setDrawValues(false)
return data
}
public func chartValueSelected(_ chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight) {
print("To Display Values X/Y Values here")
}
typealias UIViewType = LineChartView
}
【问题讨论】:
标签: ios swift swiftui ios-charts