Ich möchte iOS-Diagramme mit Swift verwenden, um einige Liniendiagramme zu zeichnen, um die Daten anzuzeigen. Jetzt habe ich eine Anforderung, die neben jedem Punkt ein kleines Symbol setzt.iOS-Diagramme Wie setze ich UIImage neben einen Punkt
Jetzt kann ich UIImage auf dem Graphen hinzufügen, aber das Problem ist, wie kann ich die CGPoint Koordinaten jeden Punkt korrekt erhalten.
Wenn ich die Ausrichtung des Geräts oder Gerätetyps ändern, ist die Position der Bilder noch festgelegt, nicht entsprechend ändern. Hier ist iPhone 6s Bild.
Hier ist meine aktuellen Code ist:
for i in 0..<dataPoints.count {
let pointLeft = lineChartView.getPosition(dataEntries[i], axis: .Left)
let image = UIImage(named: numbers[i])
let imageView = UIImageView(image:image!)
imageView.frame = CGRect(x: pointLeft.x, y: pointLeft.y, width: 16, height: 16)
lineChartView.addSubview(imageView)
}
Sie können tatsächlich von LineChartRenderer erweitern und drawExtras (CGContext) überschreiben. Dies liegt daran, dass drawCircles (CGContext) als Dateiprivat deklariert ist. Sobald Sie Ihre LineChartView haben, können Sie Ihren neu erweiterten LineChartRenderer mit NewChartRenderer zuweisen (dataProvider: lineChartView, animator: lineChartView.chartAnimator, viewPortHandler: lineChartView.viewPortHandler). lineChartView ist nur ein IBOutlet vom Typ LineChartView !. Dies ist meiner Meinung nach viel sauberer als die Änderung des ursprünglichen Codes. –