0

私のアプリでは、Coreplot を使用して CPTScatterPlot を描画しています。今、チャート上でスキャナーを実行したいのですが、UIView (線) のこのアニメーションは Y 軸に沿った線のようになり、x=0 を通って x の最後の値まで移動します。

このカスタム UIView (スキャナー) の移動中に、y 値に基づいてアクションを実行したいと考えています。

どんな助けでも大歓迎です。

ありがとう、

4

1 に答える 1

0

私のアプリには似たようなものがあります。散布図の上に棒グラフを追加する方法でした。その棒グラフを使用して、ユーザーのタッチを追跡する線を表しました。次に、プロットにオーバーレイされ、散布図のタッチを追跡し、タッチされているポイントの詳細を表示する UIView があります。

線を表示するだけの場合は、棒グラフを追加するのがおそらく最も簡単です。プロット空間の座標とスーパービューの座標について心配する必要はありません。棒グラフ データ ソースは、散布図のサイズに一致する高さで、ユーザーが触れている場所の値のみを返します。

簡単なバージョンでは、handlePlotTouchEventInSpace:atPoint:isNewEvent を使用して、グラフ上のユーザーのタッチを追跡できます。

そこから、プロット スペースで plotPoint:forPlotAreaViewPoint メソッドを使用して、タッチの座標を取得できます。

このようなものは良い出発点です。すべてを機能させるには少し時間がかかりますが、パズルを始めればそれほど悪くはありません。

-(void)handlePlotTouchEventInSpace:(CPTPlotSpace *)space atPoint:(CGPoint)point isNewEvent:(BOOL)newEvent {
    NSDecimal plotPoint[2]; 
    CPTXYPlotSpace *xySpace = (CPTXYPlotSpace *)space; 
    [xySpace plotPoint:plotPoint forPlotAreaViewPoint:point]; 

その後、plotPoint には、プロット スペース内のタッチの x および y 位置が含まれます。

于 2013-05-07T21:11:07.500 に答える