Ich verwende das ios-charts-Framework und möchte einen Marker erstellen, der über dem Graphen schwebt, wenn ich den Finger berühre und den Finger von einer Seite zur anderen bewege. Ich verwende ein Liniendiagramm nur als Referenz.
Allerdings kann ich nicht herausfinden, wie ich die Position des Markers auf dem Chart erhalten soll, wenn ich es anfasse.
Ich habe über MarkerView gelesen, aber das funktioniert nicht. Können Sie mir bitte zeigen, wie Sie die Position des Punktes erhalten, der angezeigt wird, wenn Sie ein Ios-Diagramm berühren?
Also habe ich das endlich zur Arbeit gebracht und wollte es der Community hinzufügen. So sieht mein Diagramm aus:
Wenn Sie mit dem Finger über das Diagramm fahren, bewegt sich der obige Leser und liest den Wert aus dem Diagramm.
Damit das funktioniert, musste ich Folgendes tun:
Achten Sie darauf, dass Sie in der Datei, in der Sie das Diagramm implementieren, enthalten ChartViewDelegate
Implementieren Sie dann die Methode chartValueSelected .
Wenn Sie dann die Methode getMarkerPosition verwenden, können Sie Ihren "Marker" an beliebiger Stelle zentrieren.
Hier ist ein Beispielcode:
%Vor% markerView
ist eine Xib, die ich manuell zur Hauptansicht hinzugefügt habe, die auch die Diagrammansicht enthält. markerView
ist eine UIView, die drei Labels enthält. Es ist die 3.0, Eindrücke und Apr, die Sie auf dem Bild sehen.
graphPoint
ist der CGPoint, der sich in der Grafik befindet. Sie können das x und y von graphPoint
verwenden, um Ihre markerView
neu zu positionieren. Hier behielt ich einfach den y-Wert von markerView
gleich und änderte seinen x-Wert, damit er sich bei Berührung hin und her bewegt.
Tags und Links ios swift ios-charts