2016-06-18 16 views
5

指がチャート上にあるときにデータポイントをハイライトしたいときは、画面上でリフトしてすぐに呼び出すか、ハイライトを選択解除するだけです。タッチ時に折れ線グラフのハイライトを表示して隠す

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

私はタッチ終了を無効にしようとしましたが、動作させていません。

答えて

2

highlightEnabledプロパティを使用すると、すべてのバー/データのハイライトをオフにすることができます。この

例は次のとおりです。

barChartView.data?.highlightEnabled = false 

は、あなたがまだ値を強調表示することができるようにしたいが、タッチが終了した後にそれらを自動的に選択解除したい場合は、私はまた言う別の関数highlightValues(highs: [ChartHighlight]?)を見つけました

すべての強調表示を元に戻すには、nullまたは空の配列を指定します。

すべての値を選択解除したい場合は、これを呼び出してください。これはうまくいくと思います。この例は次のようになります。

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

参考:使用したい場合は

barChartView.data?.highlightEnabled = false 

Charts Docs: highlightValues documentation

+0

これは素晴らしいですし、私は、あまりにもこのつまずいた、しかし私は、私はタッチハンドラをオーバーライドしたり、具体的タッチがで終了したときだけで判断することができる場所を見つけることができませんでしたチャートビューに関連しています。これに関するすべてのリソースやヘルプは非常に高く評価されます。 –

-1

あなたが使用することができ、タップのデータで何もする必要はありません場合はハイライトラインを表示せずにタップしたデータポイントには、選択代行者を使用することができます(ChartViewDelegateをクラスに追加することを忘れないでください)。

yourChartView.delegate = self // setup the delegate 

は、デリゲートの機能を追加します。

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

    yourChartView.highlightValue(nil) // deselect selected data point 
} 
関連する問題