2011-01-13 12 views
2

私は(IOSでは使用できませんどちらも?)Mac版の例では、彼らが結合し、NSArrayControllerは使用していることがわかりますin core-plot plotSymbolWasSelectedAtRecordIndexメソッドを使用して座標に変換する方法を教えてください。

私は

(void)scatterPlot:(CPScatterPlot *)plot plotSymbolWasSelectedAtRecordIndex:(NSUInteger)index 

から持っていることは、インデックスとプロットであります文脈で

私はその時点でポップオーバーを使用できるように正確な座標を取得する必要があります。あなたは散布図にデータを提供する場合、事前

答えて

4

おかげで、あなたは

-(NSNumber *)numberForPlot:(CPPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index 

デリゲートメソッド(またはそのようなもの)を使用しました。クエリされた情報の一部はrecordIndexで、これは通常、データポイントのNSArrayへのインデックスとして使用されます。

ここに表示されるデリゲートメソッドは、散布図のポイントが相互作用したことを示すインデックスを返します。あなたはあなたのデータソースアレイにそのインデックスに対応する座標とビューがタッチされたデータ点の位置に対応するグラフの座標得るため

double doublePrecisionPlotPoint[2]; 
doublePrecisionPlotPoint[CPCoordinateX] = [xValue doubleValue]; 
doublePrecisionPlotPoint[CPCoordinateY] = [yValue doubleValue]; 

CGPoint viewPoint = [graph.defaultPlotSpace plotAreaViewPointForDoublePrecisionPlotPoint:doublePrecisionPlotPoint]; 

を使用するX、Yを取得することができなければなりません。ここから座標空間の変換を行い、アノテーションを配置する適切な場所を取得できます。

+0

これはまさに私が探していたものです。私はdoubleprecisionpointパラメータがxとyの両方の値を受け入れることができないことを理解していませんでした。 –

+0

@zecougar - フレームワークのソースコードを見ない限り、Cスタイルの配列の使用はすぐには分かりません。このタッチ操作機能が実装されていることさえ気づかなかったので、フレームワークを再び有効にする必要があります。 –

+1

フルコードサンプルがありますか? – DogEatDog

関連する問題