2016-06-18 11 views
5

Desidero evidenziare un punto dati solo quando il dito è sul grafico, non appena si solleva dallo schermo che desidero chiamare o semplicemente deselezionare l'evidenziazione.Mostra e nascondi l'evidenziazione del grafico a linee al tocco

func chartValueNothingSelected(chartView: ChartViewBase) { 
    print("Nothing Selected") 
    markerView.hidden = true 
} 

Ho provato a ignorare il tocco terminato ma non l'ho fatto funzionare.

risposta

2

È possibile disattivare l'evidenziazione di qualsiasi barra/dati tutti insieme utilizzando la proprietà highlightEnabled.

esempio di questo è:

barChartView.data?.highlightEnabled = false 

se si vuole ancora essere in grado di evidenziare i valori, ma vogliono loro di deselezionare automaticamente dopo che il contatto si è concluso, ho trovato anche un'altra funzione highlightValues(highs: [ChartHighlight]?) che dice nella documentazione ..

Fornire null o un array vuoto per annullare tutte le evidenziazioni.

Chiamare questo quando si desidera deselezionare tutti i valori e credo che funzionerà. Esempio di questo potrebbe essere:

let emptyVals = [ChartHighlight]() 
barChartView.highlightValues(emptyVals) 

Rif: Charts Docs: highlightValues documentation

+0

Questo è grande e ho anche incappato anche questo, però non ho in grado di trovare dove posso ignorare il gestore di tocco o specificamente solo determinare quando tocco si è concluso in per quanto riguarda la vista grafico. Qualsiasi risorsa o aiuto correlato a questo sarebbe molto apprezzato. –

-1

Se non c'è bisogno di fare nulla con i dati inseriti è possibile utilizzare:

barChartView.data?.highlightEnabled = false 

Se si desidera utilizzare il punto dati toccato senza visualizzare le linee di evidenziazione, è possibile utilizzare il delegato di selezione (non dimenticare di aggiungere ChartViewDelegate alla classe):

yourChartView.delegate = self // setup the delegate 

Add funzione di delegato:

func chartValueSelected(_ chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight) { 
    // do something with the selected data entry here 

    yourChartView.highlightValue(nil) // deselect selected data point 
} 
Problemi correlati