2012-02-08 14 views
0

ユーザが選択したポイントに1つのプロットシンボルを追加し、x座標値とy座標値を表示する必要があります。タスクは一つだけのプロットを表示するためユーザがタッチしたポイントにcoreplotの折れ線グラフを追加

 -(CPTPlotSymbol *)symbolForScatterPlot:(GraphScatterPlot *)plot recordIndex:(NSUInteger)index

、方法

-(void)scatterPlot:(CPTScatterPlot *)plot plotSymbolWasSelectedAtRecordIndex:(NSUInteger)index

にCPTPlotSpaceAnnotationを添加し、方法で選択されたもの以外のインデックス位置にゼロの値を返すことによって実施されました。

1つのプロットだけを表示するには、そのライン上の各ユーザータッチのグラフをリロードする必要があります。しかし、大規模なデータセットの場合は面倒なプロセスです。だから、各タッチの後にUIがしばらく固執してしまった。どうすればこれを避けることができますか?

答えて

3

メインの散布図にプロットシンボルを描画する代わりに、それに対して2番目の散布図を使用します。 1つのデータポイント、つまりマークしたいデータポイントだけが必要です。シンボルの位置を更新する場合は、-reloadDataを2番目のプロットのみ(グラフ上ではない)に呼び出します。 -numberOfRecordsForPlot:からゼロ(0)を戻してプロット記号を削除します。このようにすれば、-symbolForScatterPlot:recordIndex:データソースメソッドも必要ありません。メインプロットのplotSymbolをnil(デフォルト)に設定し、2番目のプロットの目的のマーカーに設定するだけです。

+0

ありがとうございます。それは良い作品です。 :) – Neo

関連する問題