2017-08-09 2 views
1

J'apprends à utiliser les iOS Charts et je ne savais pas si je devais faire une ou deux questions, d'abord j'ai essayé de créer une fenêtre contextuelle lorsque l'utilisateur clique sur une valeur. J'ai lu le code du ChartsDemo mais je ne comprends pas vraiment ce qui se passe puisque c'est en Objective-C, j'ai lu quelques questions à ce sujet sur ce site, donc j'ai ajouté le ChartViewDelegate, aussi j'ai copié le BalloonMarker.swift fichier dans mon projet et enfin, j'ai vu que je dois ajouter la fonction chartValueSelected mais je ne suis pas sûr si le BalloonMarker devrait être ajouté à l'intérieur de la fonction, ou où? le code de ma fonction ressemble à ceci:Utilisez l'API iOS Charts pour afficher Pop Up, et ajoutez un commentaire en rapport avec la valeur

func chartValueSelected(chartView: ChartViewBase, entry: ChartDataEntry, dataSetIndex: Int, highlight: Highlight) { 

    let marker:BalloonMarker = BalloonMarker(color: UIColor.black, font: UIFont(name: "Helvetica", size: 12)!, textColor: UIColor.white, insets: UIEdgeInsets(top: 7.0, left: 7.0, bottom: 7.0, right: 7.0)) 
    marker.minimumSize = CGSize(width: 75.0, height: 35.0) 
    chartView.marker = marker 
} 

Mais il est dit que BallonMaker est ambigu sans plus de contexte. Quelqu'un peut-il m'expliquer comment ajouter cette fonction? ma carte fonctionne à elle seule, donc il s'agit juste d'ajouter la valeur (c'est une barre graphique combinée).

La deuxième chose serait; mes données proviennent d'une structure qui contient une date (valeur X), un double (valeur Y) et un commentaire (chaîne), est-il possible d'ajouter le contenu de la chaîne à la popup avec les valeurs x et y?

Merci

Répondre

1

Pour Marker vous devez ajouter le marqueur dans les graphiques non dans la méthode choisie

S'il vous plaît essayez d'ajouter ci-dessous le code et attribuer le marqueur à votre objet graphique.

let marker:BalloonMarker = BalloonMarker(color: UIColor.redColor(), font: UIFont(name: "Helvetica", size: 12)!, insets: UIEdgeInsets(top: 7.0, left: 7.0, bottom: 7.0, right: 7.0)) 
marker.minimumSize = CGSizeMake(75.0, 35.0) 
chartView.marker = marker 

Espérons que cela aidera.

+0

Résolu, merci! – Enrique