Così ho finalmente ottenuto questo lavoro e ho voluto aggiungerlo alla comunità. Ecco cosa mia tabella assomiglia:
Quando si esegue il dito sul grafico il lettore sopra si sposta e legge il valore dal grafico.
Per arrivare a questo lavoro ho dovuto fare quanto segue:
Nel file si sta implementando il grafico, assicurarsi di includere ChartViewDelegate
quindi implementare la chartValueSelected Metodo.
Se si utilizza il metodo getMarkerPosition, sarà possibile centrare il "marker" ovunque si desideri.
Ecco alcuni esempi di codice:
class MarkerView: UIView {
@IBOutlet var valueLabel: UILabel!
@IBOutlet var metricLabel: UILabel!
@IBOutlet var dateLabel: UILabel!
}
let markerView = MarkerView()
func chartValueSelected(chartView: ChartViewBase, entry: ChartDataEntry, dataSetIndex: Int, highlight: ChartHighlight) {
let graphPoint = chartView.getMarkerPosition(entry: entry, highlight: highlight)
// Adding top marker
markerView.valueLabel.text = "\(entry.value)"
markerView.dateLabel.text = "\(months[entry.xIndex])"
markerView.center = CGPointMake(graphPoint.x, markerView.center.y)
markerView.hidden = false
}
markerView
è una xib che ho aggiunto manualmente alla vista principale che contiene anche la vista del grafico. markerView
è un UIView che contiene tre etichette. Sono le 3.0, le impressioni e Apr che vedi nella foto.
graphPoint
è il CGPoint situato sul grafico. È possibile utilizzare la x e la y di graphPoint
per riposizionare lo markerView
. Qui ho semplicemente mantenuto il valore y dello markerView
lo stesso e ho cambiato il suo valore x per farlo muovere avanti e indietro al tocco.
fonte
2015-09-17 04:29:44
Che cos'è floatingGraphReader ?? la sua classe principale è? – DeviPhone26
Che cosa è floatingGraphReader? –
'floatingGraphReader' è semplicemente l'UIView che contiene tre etichette. Sono le 3.0, le impressioni e Apr che vedi nella foto. L'ho appena aggiunto alla risposta. –