So erstellen Sie eine Floating-Graph-Markierung mit Ios-Charts

8

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?

    
Rob Norback 17.09.2015, 04:06
quelle

1 Antwort

22

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:

  1. Achten Sie darauf, dass Sie in der Datei, in der Sie das Diagramm implementieren, enthalten ChartViewDelegate

  2. Implementieren Sie dann die Methode chartValueSelected .

  3. 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.

    
Rob Norback 17.09.2015, 04:29
quelle

Tags und Links