2017-02-03 3 views
0

J'utilise iOS Charts avec Swift 3.Graphiques iOS: déterminer la position Cercle sur chartValueSelected()

Lorsqu'un utilisateur clique sur un cercle/point mon graphique, je veux montrer un popup qui a la valeur et rendez-vous amoureux.

Graph

Je perçois le clic à l'intérieur chartValueSelected() et montrer la fenêtre comme ceci:

func chartValueSelected(_ chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight) { 
    //Set and show the popup... 
    //... 
    self.presentViewController(vc, asPopoverRelativeTo: frame, of: graph, preferredEdge: .minY, behavior: .transient) 
} 

En ce moment, je suis juste le menu contextuel positionnement arbitraire avec frame parce que je ne sais pas comment déterminer où l'utilisateur a cliqué.

Existe-t-il un moyen de connaître les coordonnées x/y de l'emplacement du cercle sur lequel vous avez cliqué?

Répondre

0

Ah, a trouvé!

La valeur hightlight renvoyée par la méthode du délégué a les propriétés xPx et yPx associées à l'emplacement du cercle. Wow, ils ont vraiment pensé à tout avec cette bibliothèque de graphes. :)

Je Codés en dur un décalage par rapport comme celui-ci:

let frame = CGRect(x: highlight.xPx-36, y: highlight.yPx-15, width: 73, height: 54) 

... et il fonctionne: enter image description here